public async Task <IActionResult> AddProduct(PurchaseDetailTmpViewModel view) { var user = await _dataContext.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefaultAsync(); if (ModelState.IsValid) { var purchaseDetailTmp = _dataContext.PurchaseDetailTmps.Where(sdt => sdt.Username == User.Identity.Name && sdt.Product.Id == view.ProductId).FirstOrDefault(); if (purchaseDetailTmp == null) { var product = await _dataContext.Products.FindAsync(view.ProductId); purchaseDetailTmp = new PurchaseDetailTmp { Id = view.Id, Name = product.Name, Price = view.Price, Quantity = view.Quantity, Username = User.Identity.Name, Product = await _dataContext.Products.FindAsync(view.ProductId) }; _dataContext.PurchaseDetailTmps.Add(purchaseDetailTmp); } else { purchaseDetailTmp.Quantity += view.Quantity; _dataContext.Entry(purchaseDetailTmp).State = EntityState.Modified; } await _dataContext.SaveChangesAsync(); return(RedirectToAction("Create")); } view.Products = _combosHelper.GetComboProducts(); return(View(view)); }
public ActionResult AddProduct(AddProductViewForPurchase view) { var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); if (ModelState.IsValid) { var PurchaseDetailTmp = db.PurchaseDetailTmps.Where(pdt => pdt.UserName == User.Identity.Name && pdt.ProductId == view.ProductId).FirstOrDefault(); if (PurchaseDetailTmp == null) { var product = db.Products.Find(view.ProductId); PurchaseDetailTmp = new PurchaseDetailTmp { Description = product.Description, Price = view.Price, ProductId = product.ProductId, Quantity = view.Quantity, TaxRate = product.Tax.Rate, UserName = User.Identity.Name, }; db.PurchaseDetailTmps.Add(PurchaseDetailTmp); } else { PurchaseDetailTmp.Quantity += view.Quantity; db.Entry(PurchaseDetailTmp).State = EntityState.Modified; } try { db.SaveChanges(); return(RedirectToAction("Create")); } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); } } ViewBag.ProductId = new SelectList(CombosHelper.GetProducts(user.CompanyId, true), "ProductId", "Description"); return(PartialView()); }
public ActionResult AddProduct(AddProductView view) { var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); if (ModelState.IsValid) { var purchaseDetailTmps = db.PurchaseDetailTmps.Where(odt => odt.UserName == User.Identity.Name && odt.ProductId == view.ProductId).FirstOrDefault(); if (purchaseDetailTmps == null) { var product = db.Products.Find(view.ProductId); purchaseDetailTmps = new PurchaseDetailTmp { Description = product.Description, Price = product.Price, ProductId = product.ProductId, Quantity = view.Quantity, TaxRate = product.Tax.Rate, UserName = User.Identity.Name, }; db.PurchaseDetailTmps.Add(purchaseDetailTmps); var products = db.Products.Find(view.ProductId); var inventories = new Inventory { ProductId = product.ProductId, WareHouseId = view.WareHouseId, Stock = 0 }; db.Inventories.Add(inventories); db.SaveChanges(); } else { purchaseDetailTmps.Quantity += view.Quantity; db.Entry(purchaseDetailTmps).State = EntityState.Modified; } var quantity = view.Quantity; var inventory = db.Inventories.Where(i => i.ProductId == view.ProductId).FirstOrDefault(); inventory.Stock += quantity; if (purchaseDetailTmps.Product.Stock <= 50) { db.SaveChanges(); return(RedirectToAction("Create")); } else { return(RedirectToAction("InventoryValidate")); } } ViewBag.ProductId = new SelectList(CombosHelper.GetProducts(user.CompanyId), "ProductId", "Description"); ViewBag.WareHouseId = new SelectList(CombosHelper.GetWareHouse(user.CompanyId, true), "WareHouseId", "Name"); return(PartialView()); }