public SalesOrders Update(SalesOrderVM vm) { try { var item = unitOfWork.SalesOrderRepo.Find(x => x.Id == vm.saleOrderId, "SalesOrderPayments,SalesOrderDetails"); var customer = customerService.Customers().FirstOrDefault(x => x.Id == vm.SalesOrder.CustomerId); //get total amount var totalAmount = item.SalesOrderDetails.Sum(x => x.SubTotal) ?? 0; item.CustomerId = customer.Id; item.CustomerName = customer.FullName; item.AmountPaid = vm.SalesOrder.AmountPaid ?? 0; item.Status = "Tendered Transaction"; //first is to clear just to be safe if cheque is already added unitOfWork.SalesOrderPaymentRepo.Delete(x => x.SalesOrderId == item.Id); foreach (var payment in item.SalesOrderPayments) { unitOfWork.SalesOrderPaymentRepo.Insert(new SalesOrderPayments() { ChequeId = payment.ChequeId, Amount = payment.Amount, DateCreated = payment.DateCreated, SalesOrderId = payment.SalesOrderId }); } unitOfWork.SalesOrderPaymentRepo.Insert(new SalesOrderPayments() { ChequeId = vm.ChequeId, Amount = item.AmountPaid, DateCreated = DateTime.Now, SalesOrderId = item.Id, }); if (!string.IsNullOrEmpty(vm.ChequeId)) { item.AmountPaid = totalAmount; } if (item.AmountPaid < totalAmount) { item.Status = "Partially Paid Transaction"; } unitOfWork.SalesOrderPaymentRepo.SaveChanges(); unitOfWork.SalesOrderRepo.SaveChanges(); vm.SalesOrder = item; } catch (Exception e) { Debug.WriteLine(e.Message); } return(vm.SalesOrder); }
// GET: SalesOrder public ActionResult Index() { var roCreation = _capitaContext.FinishedGoods.ToList(); var packingType = _capitaContext.MasterPackingTypes.ToList(); var vmSalesOrder = new SalesOrderVM { fgGoods = roCreation, packingType = packingType }; return(View(vmSalesOrder)); }
public IActionResult TenderTransactionPartial(SalesOrderVM model) { model.Cheques = chequeService.Get(); if (!ModelState.IsValid) { return(PartialView("TenderTransactionModalPartial", model)); } salesOrderService.Update(model); model.isSuccess = true; return(PartialView("TenderTransactionModalPartial", model)); }
public IActionResult TenderTransactionModalPartial(string salesOrderId) { var model = new SalesOrderVM() { SalesOrder = salesOrderService.Find(x => x.Id == salesOrderId), saleOrderId = salesOrderId }; if (string.IsNullOrEmpty(model?.SalesOrder?.PaymentMethod)) { model.SalesOrder.PaymentMethod = "Cash"; } return(PartialView(model)); }
public async Task <SalesOrderVM> GetSOAsync(Guid id) { var so = await Table.GetAsync <SalesOrder>(SOPartition, id.ToSafeStorageKey()); var items = await Table.GetAllFromPartition(id.ToSafeStorageKey()); var vm = new SalesOrderVM { Name = so.Name, Items = new List <LineItem>() }; foreach (var item in items) { vm.Items.Add(await item.Unwrap <LineItem>()); } return(vm); }
//Create Po public ActionResult redirectToSo(int id) { var soCreation = _capitaContext.FinishedGoods.Where(c => c.StockType.Trim() == "Self").ToList(); var User = _capitaContext.CustomerMasters.SingleOrDefault(v => v.S_No == id); if (User == null) { return(HttpNotFound()); } var salesVM = new SalesOrderVM { customers = User, fgGoods = soCreation }; return(View("Index", salesVM)); }