public async Task <IActionResult> Edit(int id, [Bind("Id,ScheduleDate,ScheduleAmount,PaymentDate,PaidAmount,FineAmount,DueAmount,TotalPaid,TotalDue,SalesId")] InstallmentSchedulePayment installmentSchedulePayment) { if (id != installmentSchedulePayment.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(installmentSchedulePayment); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!InstallmentSchedulePaymentExists(installmentSchedulePayment.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(installmentSchedulePayment)); }
public async Task <IActionResult> Create([Bind("Id,ScheduleDate,ScheduleAmount,PaymentDate,PaidAmount,FineAmount,DueAmount,TotalPaid,TotalDue,SalesId")] InstallmentSchedulePayment installmentSchedulePayment) { if (ModelState.IsValid) { _context.Add(installmentSchedulePayment); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(installmentSchedulePayment)); }
public IActionResult Create(Sale model) { var resultExist = _context.Sales.Where(x => x.OrderRefNo == model.OrderRefNo).FirstOrDefault(); if (resultExist == null) { Sale sale = new Sale { OrderNumber = "S-" + DateTime.UtcNow.Millisecond, OrderRefNo = model.OrderRefNo, SalesDate = model.SalesDate, CustomerId = model.CustomerId, TaxPercent = model.TaxPercent, TaxAmount = model.TaxAmount, VatPercent = model.VatPercent, VatAmount = model.VatAmount, DiscountPercent = model.DiscountPercent, DiscountAmount = model.DiscountAmount, PaymentType = model.PaymentType, DownPayment = model.DownPayment, PaymentAmount = model.PaymentAmount, DueAmount = model.DueAmount, InstallmentPeriod = model.InstallmentPeriod, TotalAmount = model.TotalAmount }; _context.Sales.Add(sale); _context.SaveChanges(); foreach (var item in model.SalesDetails) { SalesDetail salesDetail = new SalesDetail { SaleId = sale.Id, ProductId = item.ProductId, UnitPrice = item.UnitPrice, UOM = item.UOM, Quantity = item.Quantity, IndividualTotal = item.IndividualTotal }; _context.SalesDetails.Add(salesDetail); _context.SaveChanges(); _stockService.StockMaintain(DateTime.Now.Date, item); _stockService.AddStockDetail("Sales", item); } foreach (var item in model.InstallmentSchedulePayments) { InstallmentSchedulePayment installment = new InstallmentSchedulePayment { ScheduleDate = item.ScheduleDate, ScheduleAmount = item.ScheduleAmount, PaymentDate = DateTime.MinValue, PaidAmount = 0, FineAmount = 0, DueAmount = item.ScheduleAmount, TotalPaid = sale.DownPayment, TotalDue = sale.TotalAmount - sale.DownPayment, SalesId = sale.Id }; _context.InstallmentSchedulePayments.Add(installment); _context.SaveChanges(); } return(RedirectToAction(nameof(Index))); } return(View()); }