public static void Create(Creator creator, Reader reader) { do { if (Lawyer.GetYesNo("Would you like to add a category to the merchandise to sell?")) { if (Lawyer.GetYesNo("Do you want to see all the existing categories?")) { ReadCategory(reader); } string category = Lawyer.GetResponse("What would you like to call this category to be added to the database?"); while (reader.DoesCategoryNameExist(category)) { Console.WriteLine("Sorry that category already exist try again?"); category = Lawyer.GetResponse("What would you like to call this category to be added to the database?"); } creator.AddCategory(category); } else if (Lawyer.GetYesNo("Would you like to add a new product?")) { if (Lawyer.GetYesNo("Do you want to see all existing products?")) { ReadProduct(reader); } string name = Lawyer.GetResponse("What is the name of the item to be added to the store?"); string category = Lawyer.GetResponse("What category do you want would this item be considered?"); while (!(reader.DoesCategoryNameExist(category))) { Console.WriteLine("Category does not exist"); category = Lawyer.GetResponse("What category do would you consider this item?"); } //previous line could break the entire program thinking about another add on to lawyer class decimal price = Lawyer.GetDecimal("How much does this product cost?"); creator.AddProduct(name, price, category); } else if (Lawyer.GetYesNo("Would you like to add a sale?")) { if (Lawyer.GetYesNo("Do you want to see all existing sales?")) { ReadSale(reader); } string product = Lawyer.GetResponse("What is the name of the product that has been sold?"); while (!(reader.DoesProductNameExist(product))) { Console.WriteLine("That product does not exist, please enter a valid product."); product = Lawyer.GetResponse("What is the name of the product that has been sold?"); } int quantity = Lawyer.GetInt("How many of the item did the customer buy?"); int year = Lawyer.GetInt("What year has this transaction taken place?"); int month = Lawyer.GetInt("What numerical month has this transaction taken place?"); int day = Lawyer.GetInt("What day of the month has this transaction taken place?"); DateTime date = new DateTime(year, month, day); creator.AddSale(product, quantity, date); } } while (Lawyer.GetYesNo("Do you want to add more records?")); }
private static void UpdateProduct(Updater updater, Reader reader) { if (Lawyer.GetYesNo("Do you want to update a product's name using its name?")) { string currentName = Lawyer.GetResponse("What is the name of the product you want to rename?"); while (!(reader.DoesProductNameExist(currentName))) { Console.WriteLine("Sorry but that product does not exist, try again."); currentName = Lawyer.GetResponse("What is the name of the product you want to rename?"); } string newName = Lawyer.GetResponse("What do you want to rename this product?"); while (reader.DoesProductNameExist(newName)) { Console.WriteLine("Sorry but that product already exist, try again."); newName = Lawyer.GetResponse("What do you want to rename this product?"); } if (Lawyer.GetYesNo("Are you sure you want to change " + currentName + " to be changed to " + newName + "?")) { updater.UpdateProductNameByName(currentName, newName); } } else if (Lawyer.GetYesNo("Do you want to update a product's name using its product id?")) { int productid = Lawyer.GetInt("What is the product id of the product whose name you want to change?"); while (!(reader.DoesProductIdExist(productid))) { Console.WriteLine("Sorry but that product id is invalid, try again."); productid = Lawyer.GetInt("What is the product id of the product whose name you want to change?"); } string currentname = reader.GetProductName(productid); string newName = Lawyer.GetResponse("What do you want to rename " + currentname + " to be?"); while (reader.DoesProductNameExist(newName)) { Console.WriteLine("Sorry but that product name already exist, try again?"); newName = Lawyer.GetResponse("What do you want to rename " + currentname + " to be?"); } if (Lawyer.GetYesNo("Are you sure you want to change " + currentname + " to be " + newName + "?")) { updater.UpdateProductNameById(productid, newName); } } else if (Lawyer.GetYesNo("Do you want to update products with a certain price?")) { decimal currentprice = Lawyer.GetDecimal("What is the price of products you want to change?"); while (!(reader.DoesProductPriceExist(currentprice))) { Console.WriteLine("There are no products with that price, try again?"); currentprice = Lawyer.GetDecimal("What is the price of products you want to change?"); } decimal newPrice = Lawyer.GetDecimal("What price would you like to change the products to be?"); if (Lawyer.GetYesNo("Are you sure you want to change all products of price $" + currentprice + " to be changed to " + newPrice + "?")) { updater.UpdateProductPriceByPrice(currentprice, newPrice); } } else if (Lawyer.GetYesNo("Do you want to update a product's price knowing the product name?")) { string product = Lawyer.GetResponse("What is the name of the product whose price you want to change?"); while (!(reader.DoesProductNameExist(product))) { Console.WriteLine("Sorry but there is no product with that name, try again."); product = Lawyer.GetResponse("What is the name of the product whose price you want to change?"); } decimal newPrice = Lawyer.GetDecimal("What price do you want to change " + product + " to be?"); while (reader.IsProductPriceSamePrice(product, newPrice)) { Console.WriteLine("Sorry but that product is already that price, try again."); newPrice = Lawyer.GetDecimal("What price do you want to change " + product + " to be?"); } if (Lawyer.GetYesNo("Are you sure you want to change the price of " + product + " to be " + newPrice + "?")) { updater.UpdateProductPriceByName(product, newPrice); } } }
private static void DeleteProduct(Deleter deleter, Reader reader) { if (Lawyer.GetYesNo("Do you want to delete a product by Product Id?")) { int prodid = Lawyer.GetInt("What is the Product id that you want to delete?"); while (!(reader.DoesProductIdExist(prodid))) { Console.WriteLine("Sorry but that product does not exist, try again."); prodid = Lawyer.GetInt("What is the Product id that you want to delete?"); } string productId = reader.GetProductName(prodid); if (Lawyer.GetYesNo("Are you sure you want to delete this product :" + productId)) { deleter.DeleteProductByID(prodid); } } else if (Lawyer.GetYesNo("Do you want to delete a product by Product Name?")) { string prodname = Lawyer.GetResponse("What is the Name of the product you want to delete?"); while (!(reader.DoesProductNameExist(prodname))) { Console.WriteLine("Sorry but that product does not exist, try again."); prodname = Lawyer.GetResponse("What is the Name of the product you want to delete?"); } if (Lawyer.GetYesNo("Are you sure you want to delete this product :" + prodname)) { deleter.DeleteProductByName(prodname); } } else if (Lawyer.GetYesNo("Do you want to delete a product by Price?")) { decimal prodprice = Lawyer.GetDecimal("What is the price of products you want to delete?"); while (!(reader.DoesProductPriceExist(prodprice))) { Console.WriteLine("Sorry no product has that price, try again."); prodprice = Lawyer.GetDecimal("What is the price of products you want to delete?"); } List <string> products = reader.GetProductsByPrice(prodprice); if (Lawyer.GetYesNo("Are you sure you want to delete " + products.Count + " products")) { foreach (string product in products) { deleter.DeleteProductByPrice(reader.GetProductPrice(product)); } } } else if (Lawyer.GetYesNo("Do you want to delete a product by Category Id?")) { int catid = Lawyer.GetInt("What is the Category Id you want to delete products by?"); while (!(reader.DoesProductWithCatIdExist(catid))) { Console.WriteLine("Sorry there are no products with that category id, try again"); catid = Lawyer.GetInt("What is the Category Id you want to delete products by?"); } string category = reader.GetCategoryName(catid); if (Lawyer.GetYesNo("Are you sure you want to delete all products that are asscoiated with:" + category + "?")) { deleter.DeleteProductByCategory(catid); } } }