コード例 #1
0
        public override Expression <Func <Product, bool> > Build(NameValueCollection qs)
        {
            // 1. map query string dictionary with specification
            foreach (string key in qs)
            {
                QueryStringConstants queryKey = QueryStringDictionary.Content[key];

                ISpecification <Product> specification = _specificationFactory[queryKey].Create(qs[key]);

                this._BaseSpecification = this._BaseSpecification.And(specification);
            }

            // 2. compile to Delegate
            return(this._BaseSpecification.ToExpression());
        }
コード例 #2
0
 public void SetSpecification(QueryStringConstants qConst, string type)
 {
     _sp = _spFactory[qConst].Create(type);
 }