Example #1
0
        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());
        }
Example #2
0
        public ActionResult AddQuantityToCart(int storeid, int prodId)
        {
            StoreInventoryVM storeInventoryVM = new StoreInventoryVM();

            storeInventoryVM.StoreID   = storeid;
            storeInventoryVM.ProductID = prodId;
            return(View(storeInventoryVM));
        }
Example #3
0
        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());
        }