コード例 #1
0
        public static ISpecification <T> ToSpecification <T>(this SpecificationModel specificationModel, ISpecification <T> specification)
            where T : class
        {
            foreach (Rule rule in specificationModel.Where.rules)
            {
                if (rule.data != "")
                {
                    if (specification == null)
                    {
                        specification = LinqExtensions.CreateSpecification <T>(rule.field, rule.data, rule.op);
                    }
                    else
                    {
                        if (specificationModel.Where.groupOp.ToLower() == "and")
                        {
                            specification = specification.AndAlso(rule.field, rule.data, rule.op);
                        }
                        else
                        {
                            specification = specification.OrElse(rule.field, rule.data, rule.op);
                        }
                    }
                }
            }

            return(specification);
        }
コード例 #2
0
 public static ISpecification <T> ToSpecification <T>(this SpecificationModel specificationModel)
     where T : class
 {
     return(specificationModel.ToSpecification <T>(null));
 }