예제 #1
0
 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));
 });
예제 #2
0
        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));
            }
        }