public ActionResult Purchase(PurchaseSearchVM vm) { var filter = new PurchaseFilter(); var model = filter.FilterPurchase(vm); return(View(model.ToList())); }
public static Expression <Func <Purchase, bool> > GetQuery(PurchaseFilter filter) { Expression <Func <Purchase, bool> > expression = order => true; if (!string.IsNullOrEmpty(filter.Description)) { expression = expression.And(x => x.Description.Contains(filter.Description)); } if (filter.State.HasValue) { expression = expression.And(x => x.State == (PurchaseState)Enum.Parse(typeof(PurchaseState), filter.State.ToString())); } if (filter.DateInitial.HasValue) { expression = expression.And(x => x.Date >= filter.DateInitial); } if (filter.DateEnd.HasValue) { expression = expression.And(x => x.Date <= filter.DateEnd); } return(expression); }
public async Task <IList <PurchaseDto> > FilterAsync(Pagination pagination, PurchaseFilter filter) => _mapper.Map <List <PurchaseDto> >( await _purchaseRepository.FilterAsync(pagination, filter));