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!"); } } } }
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"); }
private void ClearDataAfterOrder() { ItemsInCart.Clear(); _userOrderHeaderModel.AvailableItems.Clear(); Notification = string.Empty; SummaryOrderValue = 0; }
private async void OnDeleteProduct(CartItem cartItem) { ItemsInCart.Remove(cartItem); await _cartRepo.DeleteProductAsync(cartItem.ID); TotalPrice -= cartItem.CartItemTotalPrice; }
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); }
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"] })); }
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, })); }
public void RecalculateOrder() { SummaryOrderValue = Math.Round(ItemsInCart.Sum(x => x.ValueGross), 2); }