public async Task <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, PaymentAmount = model.PaymentAmount, DueAmount = model.DueAmount, 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); } return(RedirectToAction(nameof(Index))); } return(View()); }
public IActionResult Create(Purchase model) { var resultExist = _context.Purchases.Where(x => x.OrderRefNo == model.OrderRefNo).FirstOrDefault(); if (resultExist == null) { Purchase purchase = new Purchase { OrderNo = "P-" + DateTime.UtcNow.Millisecond, OrderRefNo = model.OrderRefNo, PurchaseDate = model.PurchaseDate, SupplierId = model.SupplierId, TaxPercent = model.TaxPercent, TaxAmount = model.TaxAmount, VatPercent = model.VatPercent, VatAmount = model.VatAmount, DiscountPercent = model.DiscountPercent, DiscountAmount = model.DiscountAmount, PaymentType = model.PaymentType, PaymentAmount = model.PaymentAmount, DueAmount = model.DueAmount, TotalAmount = model.TotalAmount }; _context.Purchases.Add(purchase); _context.SaveChanges(); foreach (var item in model.PurchaseDetails) { PurchaseDetail purchaseDetail = new PurchaseDetail { PurchaseId = purchase.Id, ProductId = item.ProductId, UnitPrice = item.UnitPrice, UOM = item.UOM, Quantity = item.Quantity, IndividualTotal = item.IndividualTotal }; _context.PurchaseDetails.Add(purchaseDetail); _context.SaveChanges(); _stockService.StockMaintain(DateTime.Now.Date, item); _stockService.AddStockDetail("Purchase", item); } return(RedirectToAction(nameof(Index))); } return(View()); }