public async Task <ActionResult> GetInvoiceList([FromQuery] InvoiceListParameters invoiceListParameters) => (await _mainListHandler.Handle(invoiceListParameters)) .Match <ActionResult>(Left: err => NotFound(err.Message), Right: c => { var(list, meta) = c; Response.Headers.Add("X-Pagination", JsonSerializer.Serialize(meta)); return(Ok(list)); });
public async Task <Either <Error, PagedList <InvoiceHeader> > > GetInvoiceMainListAsync(InvoiceListParameters paramenters, bool trackChanges) { try { var invoices = await FindByCondition(e => e.InvoiceDate >= paramenters.DateFrom && e.DueDate <= paramenters.DateTo, trackChanges) .Include(c => c.Client) .OrderBy(e => e.Id) .ToListAsync(); return(PagedList <InvoiceHeader> .ToPagedList(invoices, paramenters.PageNumber, paramenters.PageSize)); } catch (System.Exception ex) { return(Error.New(ex.Message)); } }