예제 #1
0
        public void AddCartItemTest3()
        {
            ShoppingCart shoppingCart = ShoppingCartInit();

            shoppingCart.AddCartItem(-1, 1, 3);
            shoppingCart.AddCartItem(-1, 3, 2);
            Assert.AreEqual(26100, shoppingCart.GetShopItemSum());
        }
예제 #2
0
        public void AddCartItemTest2()
        {
            ShoppingCart shoppingCart = ShoppingCartInit();

            shoppingCart.AddCartItem(1, 2, 1);
            shoppingCart.AddCartItem(1, 3, 1);
            Assert.AreEqual(17456, shoppingCart.GetShopItemSum());
        }
예제 #3
0
        public void AddCartItemTest()
        {
            ShoppingCart shoppingCart = ShoppingCartInit();

            shoppingCart.AddCartItem(1, 1, 1);
            Assert.AreEqual(8700, shoppingCart.GetShopItemSum());
        }
        public IActionResult AddItem(int snackId)
        {
            var selectedSnack = _snackRepository.GetById(snackId);

            if (selectedSnack != null)
            {
                _shoppingCart.AddCartItem(selectedSnack);
            }

            return(RedirectToAction("Index"));
        }
예제 #5
0
        public async Task <IActionResult> ConfirmShoppingCart([FromBody] ConfirmShoppingCartRequestModel model)
        {
            try
            {
                var current = User;
                var userId  = current.FindFirst(ClaimTypes.NameIdentifier).Value;

                if (string.IsNullOrEmpty(userId))
                {
                    return(BadRequest("UserIdNotFound"));
                }

                if (model.NeedsDelivery && string.IsNullOrEmpty(model.DeliveryAddress))
                {
                    return(BadRequest("No delivery address"));
                }

                var itemList = new List <Item>();

                foreach (var item in model.Items)
                {
                    var singleItem = await _itemReadRepository.GetSingleItem(item.ItemId);

                    if (singleItem == null)
                    {
                        return(BadRequest("Item to purchase is not found"));
                    }

                    itemList.Add(singleItem);
                }

                var shoppingCart = new ShoppingCart(userId, CartStatus.Requested, model.NeedsDelivery, model.DeliveryAddress, model.Price);

                foreach (var singleCartItem in itemList.Select(item => new CartItems(item, shoppingCart)))
                {
                    shoppingCart.AddCartItem(singleCartItem);
                }

                _shoppingCartRepository.SaveOrder(shoppingCart);
                _shoppingCartRepository.SaveChanges();

                return(Ok(shoppingCart.CartId));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #6
0
 // POST api/<controller>
 public void Post(ShoppingCartItem item)
 {
     cart.AddCartItem(item);
 }