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)); }
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))); }