public PagedResultDto <BidDto> GetBids(BidFilter filter) { var query = repository.GetAll().Where(x => !x.IsDelete); // filter by Name if (filter.Name != null) { query = query.Where(x => x.Name.ToLower().Contains(filter.Name.ToLower())); } // filter by Category if (filter.Category != null) { query = query.Where(x => x.Category.ToLower().Equals(filter.Category.ToLower())); } // filter by Date if (filter.StartReceivingRecords != null) { DateTime dt = DateTime.ParseExact(filter.StartReceivingRecords, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); dt = dt.ToUniversalTime(); query = query.Where(x => x.BeginDay.DayOfYear > dt.DayOfYear); } if (filter.EndReceivingRecords != null) { DateTime dt = DateTime.ParseExact(filter.EndReceivingRecords, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); dt = dt.ToUniversalTime(); query = query.Where(x => x.BeginDay.DayOfYear < dt.DayOfYear); } if (filter.VendorId != 0) { query = query.Where(x => x.BidderID == filter.VendorId); } if (filter.BiddingForm != "All") { query = query.Where(x => x.BiddingForm.ToLower().Equals(filter.BiddingForm.ToLower())); } var totalCount = query.Count(); // sort if (!string.IsNullOrWhiteSpace(filter.Sorting)) { query = query.OrderBy(filter.Sorting); } // paging var items = query.PageBy(filter).ToList(); // result return(new PagedResultDto <BidDto>( totalCount, items.Select(item => ObjectMapper.Map <BidDto>(item)).ToList() )); }
public PagedResultDto <BidDto> GetBidsByFilter(BidFilter filter) { return(bidAppService.GetBids(filter)); }