コード例 #1
0
        public static void ChooseFood(List <Food> groceries, ShoppingCart cart)
        {
            string food       = Console.ReadLine();
            Food   chosenFood = groceries.FirstOrDefault(x => x.Name == food);

            if (chosenFood == null)
            {
                Console.WriteLine($"Excuse me, we don´t have {food} in our shop.");
            }
            else
            {
                Console.WriteLine($"How much would you like?");
                while (true)
                {
                    if (double.TryParse(Console.ReadLine(), out double amount))
                    {
                        ItemsInCart item = cart.Items.FirstOrDefault(x => x.Item == chosenFood);
                        if (item == null)
                        {
                            cart.Items.Add(new ItemsInCart(cart, chosenFood, amount));
                        }
                        else
                        {
                            item.amount += amount;
                        }
                        break;
                    }
                    else
                    {
                        Console.WriteLine("Write a number!");
                    }
                }
            }
        }
コード例 #2
0
        public async Task SaveOrder()
        {
            var authState = await _authenticationStateProvider.GetAuthenticationStateAsync();

            string user = authState.User.Identity.Name;

            List <OrderLineModelDto> list = new List <OrderLineModelDto>();

            foreach (var item in ItemsInCart)
            {
                list.Add(new OrderLineModelDto {
                    ItemId       = item.ItemId,
                    ItemName     = item.ItemName,
                    PriceNet     = item.PriceNet,
                    PriceGross   = item.PriceGross,
                    Tax          = item.Tax,
                    SubmittedQty = item.SubmittedQty
                });
            }

            try
            {
                _orderRepository.SaveOrder(user, Notification, ItemsInCart.Sum(x => x.ValueGross), list);
            }
            catch
            {
                Console.WriteLine("Save order failed");
                new Exception("Save order failed");
            }
            finally
            {
                ClearDataAfterOrder();
            }
            _navigationManager.NavigateTo("\\usercurrentorders");
        }
コード例 #3
0
 private void ClearDataAfterOrder()
 {
     ItemsInCart.Clear();
     _userOrderHeaderModel.AvailableItems.Clear();
     Notification      = string.Empty;
     SummaryOrderValue = 0;
 }
コード例 #4
0
        private async void OnDeleteProduct(CartItem cartItem)
        {
            ItemsInCart.Remove(cartItem);
            await _cartRepo.DeleteProductAsync(cartItem.ID);

            TotalPrice -= cartItem.CartItemTotalPrice;
        }
コード例 #5
0
 public void RemoveFromCart(UserOrderLineModel model)
 {
     foreach (var item in _userOrderHeaderModel.AvailableItems.Where(x => x.ItemId == model.ItemId))
     {
         item.IsInCart     = false;
         item.SubmittedQty = 1;
     }
     ItemsInCart.Remove(model);
 }
コード例 #6
0
        public ActionResult AddItemToCart(FormCollection fc)
        {
            int id = Convert.ToInt32(fc["itemId"]), quantityOfItems = 0;

            try
            {
                quantityOfItems = Convert.ToInt32(fc["quantity"]);
            }
            catch (ArgumentOutOfRangeException)
            {
                quantityOfItems = 1;
            }

            var  clientsCart = (Cart)Session["Cart"];
            Item item        = _itemDistributionControl.GetItem(id);


            if (item == null)
            {
                return(RedirectToAction("Cart"));
            }

            if (clientsCart == null)
            {
                clientsCart = new Cart()
                {
                    ItemsInCart = new List <ItemsInCart>()
                };
                Session["Cart"] = clientsCart;
            }

            if ((clientsCart.ItemsInCart.FirstOrDefault(i => i.Item.Id == id) != null))
            {
                clientsCart.ItemsInCart.Where(x => x.Item.Id == id).ToList()
                .ForEach(y => y.Quantity += quantityOfItems);
            }
            else
            {
                ItemsInCart cartItem = new ItemsInCart()
                {
                    Cart     = (Cart)Session["Cart"],
                    Item     = item,
                    Quantity = quantityOfItems
                };
                clientsCart.ItemsInCart.Add(cartItem);
            }

            clientsCart.CartsPrice = clientsCart.CountCartsPrice(clientsCart.ItemsInCart);
            Session["Count"]       = clientCartControl.CountItemsInCart(clientsCart.ItemsInCart);
            return(Json(new { message = item.Name + "(" + quantityOfItems + ")" + " buvo prideta i krepseli ", itemCount = Session["Count"] }));
        }
コード例 #7
0
        public ActionResult ChangeItemsQuantity(FormCollection fc)
        {
            if ((Cart)Session["Cart"] == null)
            {
                return(RedirectToAction("EmptyCart"));
            }

            int cartItemId       = 0;
            int cartItemQuantity = 0;

            try
            {
                cartItemId       = Convert.ToInt32(fc["itemId"]);
                cartItemQuantity = Convert.ToInt32(fc["quantity"]);
                if (cartItemQuantity < 1)
                {
                    return(RedirectToAction("Cart"));
                }
            }
            catch (OverflowException)
            {
                return(RedirectToAction("Cart"));
            }
            catch (FormatException)
            {
                return(RedirectToAction("Cart"));
            }

            Cart        cart  = (Cart)Session["Cart"];
            ItemsInCart preke = cart.ItemsInCart.FirstOrDefault(x => x.Item.Id == cartItemId);

            if (preke != null)
            {
                preke.Quantity = cartItemQuantity;
            }
            else
            {
                return(RedirectToAction("Cart"));
            }

            cart.CartsPrice  = cart.CountCartsPrice(cart.ItemsInCart);
            Session["Count"] = clientCartControl.CountItemsInCart(cart.ItemsInCart);
            return(Json(new
            {
                cartCost = (cart.CartsPrice / 100.0m),
                itemCount = Session["Count"],
                itemCost = (preke.Item.Price * cartItemQuantity) / 100.0m,
            }));
        }
コード例 #8
0
 public void RecalculateOrder()
 {
     SummaryOrderValue = Math.Round(ItemsInCart.Sum(x => x.ValueGross), 2);
 }