示例#1
0
        public PagedResponse <Bill> List([FromQuery] BillSearchParams searchParams)
        {
            var b = BillService.GetBills(searchParams.ToModel());

            return(new PagedResponse <Bill>
            {
                Values = b.Take(Utils.PageSize),
                MorePages = b.Count() > Utils.PageSize
            });
        }
示例#2
0
        public async Task FindBills()
        {
            var parms = new BillSearchParams()
            {
                chamber = "upper",
                status  = "passed_upper"
            };

            var result = await service.FindBills("mn", parms);

            Assert.IsNotNull(result);
        }
示例#3
0
 public static IQueryable <Bill> ApplySearch(this IQueryable <Bill> query, BillSearchParams searchParams)
 {
     if (searchParams.SerialFilter != null)
     {
         query = query.Where(x => x.Serial.Contains(searchParams.SerialFilter));
     }
     if (searchParams.IssuedBefore != null)
     {
         query = query.Where(x => x.Created <= searchParams.IssuedBefore);
     }
     if (searchParams.IssuedAfter != null)
     {
         query = query.Where(x => x.Created >= searchParams.IssuedAfter);
     }
     if (searchParams.DueAfter != null)
     {
         query = query.Where(x => x.PaymentDeadline <= searchParams.IssuedBefore);
     }
     if (searchParams.DueBefore != null)
     {
         query = query.Where(x => x.PaymentDeadline <= searchParams.IssuedBefore);
     }
     if (searchParams.IsDone != null)
     {
         query = query.Where(x => x.Done == searchParams.IsDone);
     }
     if (searchParams.ValueLess != null)
     {
         query = query.Where(x => x.TotalPrice <= searchParams.ValueLess);
     }
     if (searchParams.ValueMore != null)
     {
         query = query.Where(x => x.TotalPrice >= searchParams.ValueMore);
     }
     if (searchParams.PartnerId != null)
     {
         query = query.Where(x => x.Partner.Id == searchParams.PartnerId);
     }
     return(query
            .OrderBy(x => x.Created)
            .ThenBy(x => x.Id)
            .Skip(Utils.PageSize * searchParams.Page)
            .Take(Utils.PageSize + 1));
 }
示例#4
0
 public List <Bill> GetBills(BillSearchParams search)
 {
     return(Bills.ApplySearch(search)
            .Select(x => x.ToModel())
            .ToList());
 }
示例#5
0
 public List <Bill> GetBills(BillSearchParams search)
 {
     return(BillRepository.GetBills(search));
 }