public PagedResultDto <MerchandiseDto> GetMerchandises(MerchandiseFilter input) { var query = merchandiseRepository.GetAll().Where(x => !x.IsDelete); // filter by code if (input.Code != null) { query = query.Where(x => x.Code.ToLower().Contains(input.Code.ToLower())); } //filter by name if (input.Name != null) { query = query.Where(x => x.Name.ToLower().Contains(input.Name.ToLower())); } // filter by typeID if (input.TypeID != 0) { query = query.Where(x => x.TypeID == input.TypeID); } // filter by type vender if (input.TypeVender != 0) { query = query.Where(x => x.TypeVender == input.TypeVender); } // filter by isActive if (input.IsActive != null) { if (input.IsActive.Equals("True")) { query = query.Where(x => x.IsActive == true); } else if (input.IsActive.Equals("False")) { query = query.Where(x => x.IsActive == false); } } var totalCount = query.Count(); // sort if (!string.IsNullOrWhiteSpace(input.Sorting)) { query = query.OrderBy(input.Sorting); } // paging var items = query.PageBy(input).ToList(); // result return(new PagedResultDto <MerchandiseDto>( totalCount, items.Select(item => ObjectMapper.Map <MerchandiseDto>(item)).ToList())); }
public PagedResultDto <MerchandiseDto> GetMerchandiseByFilter(MerchandiseFilter filter) { return(merchandiseAppService.GetMerchandises(filter)); }