public async Task <SupplierHistoryViewModel> GetHistoryAsync(string partnerId)
        {
            var purchaseRequest = new PurchaseRequestModel("", "Modified", "True")
            {
                ParentId = partnerId, Page = -1
            };
            var purchaseService = new PurchaseService(new PurchaseRepository(repository.Db));
            ExpenseRequestModel paymentRequest = new ExpenseRequestModel("", "Modified", "True")
            {
                ParentId = partnerId, Page = -1
            };
            var paymentService = new PaymentService(new PaymentRepository(repository.Db));
            List <PurchaseViewModel> purchases = await purchaseService.SearchAsync(purchaseRequest);

            List <ExpenseViewModel> payments = await paymentService.SearchAsync(paymentRequest);

            List <SupplierHistoryDetailViewModel> histories = new List <SupplierHistoryDetailViewModel>();

            histories.AddRange(purchases.ConvertAll(x => new SupplierHistoryDetailViewModel(x)));
            histories.AddRange(payments.ConvertAll(x => new SupplierHistoryDetailViewModel(x)));

            SupplierHistoryViewModel history = new SupplierHistoryViewModel
            {
                Payments      = payments,
                Purchases     = purchases,
                PurchaseTotal = purchases.Sum(x => x.Total),
                PaymentTotal  = payments.Sum(x => x.Amount),
                Histories     = histories.OrderBy(x => x.Created).ToList()
            };

            return(history);
        }
Example #2
0
 public IActionResult CreateExpense([FromBody] ExpenseRequestModel expenseRequest)
 {
     return(Ok(_applicationService.ProcessExpenseEmailText(expenseRequest.EmailText).ToViewModel()));
 }