コード例 #1
0
ファイル: Program.cs プロジェクト: grayingram/BestBuy
        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?"));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: grayingram/BestBuy
 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);
         }
     }
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: grayingram/BestBuy
 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);
         }
     }
 }