private Expression <Func <Post, bool> > TitleContains(IEnumerable <string> keywords)
        {
            var predicate = PredicateExtensions.Begin <Post>();

            foreach (var keyword in keywords)
            {
                predicate = predicate.Or(TitleContains(keyword));
            }
            return(predicate);
        }
示例#2
0
        public void Can_Begin_New_Expression()
        {
            var predicate = PredicateExtensions.Begin <string>(true);
            Expression <Func <string, bool> > expectedOrExpression = str => (str == "A" || str.Contains("B"));
            var expectedExpression = expectedOrExpression.ToString();

            var orExpression     = predicate.Or(_equalsA.Or(_containsB));
            var resultExpression = orExpression.ToString();

            resultExpression.Should().Be(expectedExpression);
            LogResults(expectedExpression, resultExpression);
        }
示例#3
0
        protected Expression <Func <TModel, bool> > ComposeBaseFilter <TModel>(BaseLogFilter filter) where TModel : BaseLogEntryDbModel
        {
            var exp = PredicateExtensions.Begin <TModel>();

            if (filter.DateFrom.HasValue)
            {
                exp = PredicateExtensions.And <TModel>(exp, error => error.EventDate >= filter.DateFrom);
            }

            if (filter.DateTo.HasValue)
            {
                exp = PredicateExtensions.And <TModel>(exp, error => error.EventDate <= filter.DateTo);
            }

            return(exp);
        }
示例#4
0
        /// <summary>
        /// 获取供应商列表
        /// </summary>
        /// <param name="name"></param>
        /// <param name="typeCode"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public List <Supplier> GetSupplier(string name, string typeCode, int pageIndex, int pageSize)
        {
            var predicate = PredicateExtensions.Begin <Supplier>(true);

            if (string.IsNullOrEmpty(name))
            {
                predicate.And(s => s.SupplierName.Contains(name) || s.ShortName.Contains(name));
            }
            if (string.IsNullOrEmpty(typeCode))
            {
                predicate.And(s => s.SupplierType == typeCode);
            }

            if (pageSize > 0)
            {
                return(_supplierRepository.GetListAsync(predicate, s => s.Id, pageIndex, pageSize).Result);
            }

            else
            {
                return(_supplierRepository.GetListAsync(predicate).Result);
            }
        }