public async Task <IActionResult> Edit(int id, ProductSoldCreateViewModel vm) { if (id != vm.ProductSold.Id) { return(NotFound()); } if (ModelState.IsValid) { if (await _bll.ProductsSold.EditProductInSale(id, vm.ProductSold.ProductId, vm.ProductSold)) { return(RedirectToAction("Details", "Sales", new { id = vm.ProductSold.SaleId })); } var product = await _bll.Products.FindAsync(vm.ProductSold.ProductId); ModelState.AddModelError(string.Empty, "Cannot sell more than in stock! Current stock: " + product.Quantity); } vm.ProductSelectList = new SelectList(await _bll.Products.AllAsync(), nameof(Product.Id), nameof(Product.ProductName)); vm.SaleSelectList = new SelectList(await _bll.Sales.AllAsync(), nameof(Sale.Id), nameof(Sale.Description)); return(View(vm)); }
// GET: ProductsSold/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var productSold = await _bll.ProductsSold.FindAsync(id); if (productSold == null) { return(NotFound()); } var vm = new ProductSoldCreateViewModel() { ProductSold = productSold, ProductSelectList = new SelectList(await _bll.Products.AllAsyncByShopAndInInventory(User.GetShopId()), nameof(Product.Id), nameof(Product.ProductName)), SaleSelectList = new SelectList(await _bll.Sales.AllAsyncByShopAndUserId(User.GetShopId(), User.GetUserId()), nameof(Sale.Id), nameof(Sale.Description)) }; return(View(vm)); }
// GET: ProductsSold/Create public async Task <IActionResult> Create(int?id) { var vm = new ProductSoldCreateViewModel() { ProductSelectList = new SelectList(await _bll.Products.AllAsync(), nameof(Product.Id), nameof(Product.ProductName)), SaleSelectList = new SelectList(await _bll.Sales.AllAsync(), nameof(Sale.Id), nameof(Sale.Description)) }; foreach (var sale in vm.SaleSelectList) { if (!sale.Value.Equals(id.ToString())) { continue; } sale.Selected = true; break; } return(View(vm)); }
public async Task <IActionResult> Create(ProductSoldCreateViewModel vm) { if (ModelState.IsValid) { if (await _bll.ProductsSold.AddProductToSale(vm.ProductSold.ProductId, vm.ProductSold)) { return(RedirectToAction("Index", "Sales")); } var product = await _bll.Products.FindAsync(vm.ProductSold.ProductId); ModelState.AddModelError(string.Empty, "Cannot sell more than in stock! Current stock: " + product.Quantity); } vm.ProductSelectList = new SelectList(await _bll.Products.AllAsync(), nameof(Product.Id), nameof(Product.ProductName)); vm.SaleSelectList = new SelectList(await _bll.Sales.AllAsync(), nameof(Sale.Id), nameof(Sale.Description)); return(View(vm)); }