NamedQuery/NamedQueryExtensions.cs

(开头部分) 9KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

using ComLib;
using ComLib.Entities;
using ComLib.ValidationSupport;


namespace ComLib.NamedQueries
{
    /// <summary>
    /// Extend the validation with validation of the query's parameters if there are any.
    /// </summary>
    public partial class NamedQueryValidator : EntityValidator
    {
        /// <summary>
        /// Validate the query parameters if there are any.
        /// </summary>
        /// <param name="validationEvent">Validation event to use.</param>
        /// <returns></returns>
        public override bool Validate(ValidationEvent validationEvent)
        {
            object target = validationEvent.Target;
            IValidationResults results = validationEvent.Results; 

            bool valid = ValidateInternal(validationEvent);
            if (!valid) return valid;

            // Has paremeters?
            NamedQuery query = (NamedQuery)target;
            if (string.IsNullOrEmpty(query.Parameters)) return true;

            IList<NamedQueryParam> queryParams = NamedQueryParamsParser.ParseParams(query.Parameters);
            NamedQueryParamsValidator validator = new NamedQueryParamsValidator(queryParams);
            bool isValid = validator.Validate(results).IsValid;
            return isValid;
        }   
    }



    /// <summary>
    /// Extend the named query by adding parameters using a structure rather than string.
    /// </summary>
    public partial class NamedQuery : ActiveRecordBaseEntity<NamedQuery>
    {
        /// <summary>
        /// Add query parameters.
        /// </summary>
        /// <param name="queryParams">List of query parameters.</param>
        public void AddParameters(List<NamedQueryParam> queryParams)
        {
            string allParams = string.Empty;
            foreach (NamedQueryParam param in queryParams)
            {
                allParams += param.ToString() + ",";
            }
后面还有 222 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。