public async Task <List <Bill> > GetBillByFilter(SearchBillFilter filter) { var bills = _context.Bills.AsQueryable(); if (filter.ClientId.HasValue) { bills = bills.Where(p => p.ClientId == filter.ClientId); } if (filter.Period.HasValue) { bills = bills.Where(p => p.Period == filter.Period); } if (filter.Status != null) { bills = bills.Where(p => p.Status == filter.Status); } if (filter.Category != null) { bills = bills.Where(p => p.Category == filter.Category); } return(await bills.ToListAsync()); }
public async Task <IActionResult> GetPendingBills([FromQuery] PendingBillsFilter request) { var searchFilter = new SearchBillFilter { Category = request.Category, ClientId = request.ClientId, Period = null, Status = "PENDING" }; var result = await _service.GetBillByFilter(searchFilter); return(Ok(result)); }
public async Task <IActionResult> GetBills([FromQuery] SearchBillFilter request) { var result = await _service.GetBillByFilter(request); return(Ok(result)); }