示例#1
0
        public PartialViewResult Execute(SearchExecuteViewModel filters)
        {
            var query = PredicateBuilder.True<Order>();

            if (filters.Total != null)
            {
                query = query.And(x => x.Total == filters.Total);
            }

            if (filters.Date != null)
            {
                query = query.And(x => x.Date == filters.Date);
            }

            if (filters.Status != null)
            {
                query = query.And(x => x.Status == filters.Status);
            }

            if (!string.IsNullOrEmpty(filters.Name))
            {
                var nameQuery = PredicateBuilder.False<Order>();
                foreach (var n in filters.Name.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    nameQuery = nameQuery.Or(p => p.Customer.Name.Contains(n));
                }

                query = query.And(nameQuery);
            }

            var orders = _orderRepository.Get(filter: query, orderBy: sort => sort.OrderBy(o => o.Date));

            return PartialView(orders.ToPagedList(filters.PageNumber ?? 1, filters.PageSize ?? 4));
        }
示例#2
0
        public PartialViewResult Execute(SearchExecuteViewModel filters)
        {
            var query = PredicateBuilder.True <Order>();

            if (filters.Total != null)
            {
                query = query.And(x => x.Total == filters.Total);
            }

            if (filters.Date != null)
            {
                query = query.And(x => x.Date == filters.Date);
            }

            if (filters.Status != null)
            {
                query = query.And(x => x.Status == filters.Status);
            }

            if (!string.IsNullOrEmpty(filters.Name))
            {
                var nameQuery = PredicateBuilder.False <Order>();
                foreach (var n in filters.Name.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    nameQuery = nameQuery.Or(p => p.Customer.Name.Contains(n));
                }

                query = query.And(nameQuery);
            }

            var orders = _orderRepository.Get(filter: query, orderBy: sort => sort.OrderBy(o => o.Date));

            return(PartialView(orders.ToPagedList(filters.PageNumber ?? 1, filters.PageSize ?? 4)));
        }