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