Exemple #1
0
        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));
        }