// update cart item quantity without prompt private void updateCartItem(int id, int qty) { CartItm aCartItem = new CartItm(); aCartItem.id = cart[id].id; aCartItem.qty = qty; cart[id] = aCartItem; }
// update item in cart dialogue private void updateCartItem() { string inpVal; int selVal, selQty; Products.Product prodData; Console.Clear(); Console.WriteLine("Cart Editor"); Console.WriteLine("Current items and quantities in shopping cart."); listItems(); Console.WriteLine(""); Console.WriteLine("Please select a cart item you would like to edit by entering its id value : (x to cancel)"); inpVal = Console.ReadLine(); int.TryParse(inpVal, out selVal); while (inpVal.ToUpper() != "X" && (selVal < 1 || selVal > cart.Count)) { Console.WriteLine("Your selected value did not match any available product options. Please try again: "); inpVal = Console.ReadLine(); int.TryParse(inpVal, out selVal); } if (inpVal.ToUpper() != "X") { // decrement selected id val to match list id --selVal; // load product data prodData = Products.getProduct(selVal); Console.Write("Please enter a new quantity for {0} : ", prodData.name); inpVal = Console.ReadLine(); int.TryParse(inpVal, out selQty); while (selQty < 1 || selQty > prodData.qty) { Console.WriteLine("Entered quantity appears to be invalid. Please try again: "); inpVal = Console.ReadLine(); int.TryParse(inpVal, out selQty); } // reset cart item quantity CartItm aCartItem = new CartItm(); aCartItem.id = cart[selVal].id; aCartItem.qty = selQty; cart[selVal] = aCartItem; } }
// add product to users cart private void addToCart(int id) { string inpVal; int qty; Products.Product prodData; // update to valid id --id; Console.Clear(); // load product data prodData = Products.getProduct(id); // new item structure CartItm newCartItm = new CartItm(); newCartItm.id = id; // promp user for quantity Console.Write("How many should I add to your cart? "); inpVal = Console.ReadLine(); int.TryParse(inpVal, out qty); // check user inserted quantity for validity while (qty <= 0 && qty < prodData.qty) { Console.Write("You did not enter a valid quantity. Please try again: "); inpVal = Console.ReadLine(); int.TryParse(inpVal, out qty); } newCartItm.qty = qty; // check for item already in cart for (int i = 0; i < cart.Count; ++i) { if (cart[i].id == id) { updateCartItem(id, (cart[i].qty + qty)); return; } } // save item to cart cart.Add(newCartItm); }