コード例 #1
0
        public async Task <IActionResult> GetInvoiceList([FromBody] GetInvoiceListRequest req)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            repository.SetTimeout(120);

            PortalUser user = await repository.AuthenticateUserToken(req.CurrentUser.UserId, req.CurrentUser.UserToken);

            if (user == null || req.VendorId == null)
            {
                return(NotFound());
            }

            var invoiceList = await repository.GetInvoicesByManufacturerId((int)req.VendorId, user.CompanyId);

            GetInvoiceListResponse resp = new GetInvoiceListResponse();

            resp.Invoices                = invoiceList.Where(x => x.TransactionStatusTypeId == (int)TransactionStatusType.Enum.Open).Select(x => paymentWorkflow.LoadInvoice(x)).ToList();
            resp.TotalVendors            = resp.Invoices.Select(x => x.VendorId).Distinct().Count();
            resp.TotalOutstandingBalance = resp.Invoices.Select(x => x.ManufacturerRate).Sum();
            resp.CompletionPercentage    = await repository.GetInvoiceAcknowledgedProgressPercent();

            return(Ok(resp));
        }
コード例 #2
0
        public async Task <Response <List <InvoiceResponse> > > GetList(GetInvoiceListRequest request)
        {
            var query = _mapper.Map <GetInvoiceListQuery>(request);

            var result = _invoiceRepository.GetList(query);

            var data = _mapper.Map <List <Expenses.Domain.Models.Invoice>, List <InvoiceResponse> >(result);

            return(SuccessfulResponse(data));
        }
コード例 #3
0
        public async Task <IActionResult> GetList([FromQuery] GetInvoiceListRequest query)
        {
            var result = await _invoiceService.GetList(query);

            if (result.Successful)
            {
                return(SuccessResponse(result));
            }
            else
            {
                return(FailureResponse(result));
            }
        }