public Results Insert(SalesOrderPaymentsVM model) { try { var cheque = unitOfWork.ChequesRepo.Find(x => x.Id == model.ChequeId); var chequeBalance = cheque?.Amount; foreach (var i in unitOfWork.SalesOrderRepo.Get(x => x.CustomerId == model.CustomerId && x.Balance > 0)) { decimal?amountPaid = 0; if (chequeBalance > i.Balance) { chequeBalance -= i.Balance; amountPaid = i.Balance; } else { amountPaid = chequeBalance; chequeBalance = 0; } unitOfWork.SalesOrderPaymentRepo.Insert(new SalesOrderPayments() { ChequeId = model.ChequeId, Amount = amountPaid, SalesOrderId = i.Id, DateCreated = DateTime.Now }); i.AmountPaid += amountPaid; unitOfWork.SalesOrderPaymentRepo.SaveChanges(); UpdateSalesOrder(i); } return(new Results() { Succeeded = true }); } catch (Exception e) { Debug.Write(e.Message); return(new Results() { Succeeded = false, Errors = new List <string>() { e.Message } }); } }
public IActionResult BulkSettlePaymentPartial(SalesOrderPaymentsVM model) { model.Customers = salesOrderPaymentService.GetCustomers(); model.Cheques = salesOrderPaymentService.GetCheques(); if (!ModelState.IsValid) { return(PartialView("PaymentSalesOrderDetail", model)); } //Getting result of service var result = salesOrderPaymentService.Insert(model); //return partial view with error if the service fail in trycatch if (!result.Succeeded) { ViewData["Errors"] = result.Errors; return(PartialView("PaymentSalesOrderDetail", model)); } return(Json(new { isSuccess = true })); }
public IActionResult PaymentSalesOrderDetail(SalesOrderPaymentsVM model) { model.Customers = salesOrderPaymentService.GetCustomers(); model.Cheques = salesOrderPaymentService.GetCheques(); return(PartialView(model)); }