Example #1
0
        public void Test()
        {
            // Create commands
            string itemName = "Item1";

            var stockManager = new InMemoryStockManagerService();
            var cart         = new ShoppingCart();

            var item1 = new ShoppingCartItem {
                Name = itemName, Amount = 1, Price = 5m
            };
            var item2 = new ShoppingCartItem {
                Name = itemName, Amount = 1, Price = 25m
            };

            stockManager.GetItemsCountLeft(itemName).Should().NotBe(0);

            var addCartItemCommand1   = new AddItemToCartCommand(stockManager, cart, item1);
            var addCartItemCommand2   = new AddItemToCartCommand(stockManager, cart, item1);
            var removeCartItemCommand = new RemoveItemFromCart(stockManager, cart, item1);
            var addCartItemCommand3   = new AddItemToCartCommand(stockManager, cart, item2);
            var removeAllItemsCommand = new RemoveAllFromCartCommand(stockManager, cart);

            // Execute
            if (addCartItemCommand1.CanExecute())
            {
                addCartItemCommand1.Execute();
            }
            stockManager.GetItemsCountLeft(itemName).Should().Be(0);
            if (addCartItemCommand2.CanExecute())
            {
                addCartItemCommand2.Execute();
            }
            if (removeCartItemCommand.CanExecute())
            {
                removeCartItemCommand.Execute();
            }
            stockManager.GetItemsCountLeft(itemName).Should().Be(1);

            if (addCartItemCommand3.CanExecute())
            {
                addCartItemCommand3.Execute();
            }
            stockManager.GetItemsCountLeft(itemName).Should().Be(0);

            if (removeAllItemsCommand.CanExecute())
            {
                removeAllItemsCommand.Execute();
            }
            stockManager.GetItemsCountLeft(itemName).Should().Be(1);
        }
        public IEnumerable Handle(RemoveItemFromCart c)
        {
            if (!open)
            {
                throw new CartNotOpen();
            }

            if (!itemsInCart.Any(i => i.ItemNumber == c.ItemNumber))
            {
                throw new ItemNotInCart();
            }

            yield return(new ItemRemovedFromCart
            {
                Id = c.Id,
                ItemNumber = c.ItemNumber,
            });
        }
        public void RemoveItemFromCart(RemoveItemFromCart obj)
        {
            string Msg = "";
            Dictionary <string, string> returndata = new Dictionary <string, string>();

            returndata.Add("statusMsg", "");


            if (obj.apikey == ConfigurationManager.AppSettings["reasonkey"])
            {
                try
                {
                    Msg = _agentbal.RemoveItemFromCart(obj);

                    if (Msg != "")
                    {
                        returndata.Remove("statusMsg");
                        returndata.Add("statusMsg", Msg);
                    }
                    else
                    {
                        returndata.Remove("statusMsg");
                        returndata.Add("statusMsg", "You can not delete this item.");
                    }
                }
                catch (Exception ex)
                {
                    returndata.Remove("statusMsg");
                    returndata.Add("statusMsg", "Internal error,please try after sometime.");
                    LogBal.ErrorLog(this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex.Message, 0);
                }
            }
            string json = JsonConvert.SerializeObject(returndata);

            HttpContext.Current.Response.ContentType = "application/json; charset=utf-8";
            HttpContext.Current.Response.Write(json);
        }
        public string RemoveItemFromCart(RemoveItemFromCart obj)
        {
            string flag = _Apdal.RemoveItemFromCart(obj.OrderID, obj.RecordId, obj.DeletedBy);

            return(flag);
        }