public ActionResult CreateStoreInventory(StoreInventoryVM inventoryVM) { if (ModelState.IsValid) { try { if (_storeBL.inventoryExists(inventoryVM.ProductID, inventoryVM.StoreID)) { _product = _storeBL.getProductByID(inventoryVM.ProductID); _store = _storeBL.getStoreByID(inventoryVM.StoreID); int storeItemQuantity = _storeBL.getInventoryQuantity(_product, _store); StoreInventory storeInventory = _storeBL.getInventoryItem(_product, _store); storeInventory.InventoryQuantity = storeItemQuantity + inventoryVM.InventoryQuantity; _storeBL.updateStoreInventory(storeInventory); } else { _storeBL.addProductToInventory(_mapper.cast2StoreInventory(inventoryVM)); } return(RedirectToAction(nameof(Index))); } catch { return(View()); } } return(View()); }
public ActionResult AddQuantityToCart(int storeid, int prodId) { StoreInventoryVM storeInventoryVM = new StoreInventoryVM(); storeInventoryVM.StoreID = storeid; storeInventoryVM.ProductID = prodId; return(View(storeInventoryVM)); }
public ActionResult AddQuantityToCart(StoreInventoryVM inventoryVM) { if (ModelState.IsValid) { try { _product = _storeBL.getProductByID(inventoryVM.ProductID); _order = JsonSerializer.Deserialize <Orders>(HttpContext.Session.GetString("orderData")); _store = _storeBL.getStoreByID(inventoryVM.StoreID); OrderItem newOrderItem = new OrderItem(); newOrderItem.ProductID = inventoryVM.ProductID; newOrderItem.ProductQuantity = inventoryVM.InventoryQuantity; newOrderItem = _storeBL.addOrderItem(newOrderItem); _order.OrderTotal += _product.Price * newOrderItem.ProductQuantity; HttpContext.Session.SetString("orderData", JsonSerializer.Serialize(_order)); if (HttpContext.Session.GetString("userData") != null) { TrackOrder track = new TrackOrder(); _customer = JsonSerializer.Deserialize <Customer>(HttpContext.Session.GetString("userData")); track.CustomerID = _customer.ID; track.OrderID = _order.ID; track.OrderItemID = newOrderItem.ID; track.StoreID = inventoryVM.StoreID; _storeBL.addTrackOrderItem(track); } else { TrackOrder track = new TrackOrder(); track.CustomerID = 8; track.OrderID = _order.ID; track.OrderItemID = newOrderItem.ID; track.StoreID = inventoryVM.StoreID; _storeBL.addTrackOrderItem(track); } int storeItemQuantity = _storeBL.getInventoryQuantity(_product, _store); StoreInventory storeInventory = _storeBL.getInventoryItem(_product, _store); storeInventory.InventoryQuantity = storeItemQuantity - inventoryVM.InventoryQuantity; _storeBL.updateStoreInventory(storeInventory); return(RedirectToAction(nameof(Index))); } catch { return(View()); } } return(View()); }