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 }); }
public async Task FindBills() { var parms = new BillSearchParams() { chamber = "upper", status = "passed_upper" }; var result = await service.FindBills("mn", parms); Assert.IsNotNull(result); }
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)); }
public List <Bill> GetBills(BillSearchParams search) { return(Bills.ApplySearch(search) .Select(x => x.ToModel()) .ToList()); }
public List <Bill> GetBills(BillSearchParams search) { return(BillRepository.GetBills(search)); }