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); }
public static ISpecification <T> ToSpecification <T>(this SpecificationModel specificationModel) where T : class { return(specificationModel.ToSpecification <T>(null)); }