コード例 #1
0
        static void Main(string[] args)
        {
            var config = new ConfigurationBuilder()
                         .SetBasePath(Directory.GetCurrentDirectory())
                         .AddJsonFile("appsettings.json")
                         .Build();

            string connString = config.GetConnectionString("DefaultConnection");

            IDbConnection conn = new MySqlConnection(connString);

            ////Create a new Department

            //var repo = new DapperDepartmentRepository(conn);

            //Console.WriteLine("Type a new Department name");

            //var newDepartment = Console.ReadLine();

            //repo.InsertDepartment(newDepartment);

            //var departments = repo.GetAllDepartments();

            //foreach (var department in departments)
            //{
            //    Console.WriteLine($"{department.DepartmentID} {department.Name}");
            //}

            //Create a new product
            Console.WriteLine("Would you like to create a new product? (type 'nothing' if you have nothing to add)");
            var repo2 = new DapperProductRepository(conn);

            var products = repo2.GetAllProducts();

            var answer = Console.ReadLine();

            if (answer == "nothing")
            {
                Console.WriteLine("thanks!");
            }
            else
            {
                foreach (var item in products)
                {
                    Console.WriteLine($"{item.CategoryID} {item.Name} {item.Price} {item.ProductID} {item.OnSale} {item.StockLevel}");
                }

                Console.WriteLine("Type the new product name:");

                var newProductName = Console.ReadLine();

                Console.WriteLine("Type the new product price:");

                var newProductPrice = Convert.ToDouble(Console.ReadLine());

                Console.WriteLine("Type the new product category ID:");

                var newProductCID = Convert.ToInt32(Console.ReadLine());

                repo2.CreateProduct(newProductName, newProductPrice, newProductCID);

                products = repo2.GetAllProducts();

                foreach (var item in products)
                {
                    Console.WriteLine($"{item.CategoryID} {item.Name} {item.Price} {item.ProductID} {item.OnSale} {item.StockLevel}");
                }
            }
            //Update an existing product:

            Console.WriteLine("Would you like to update an existing product? (type 'nothing' if you have nothing to update)");

            answer = Console.ReadLine();

            if (answer == "nothing")
            {
                Console.WriteLine("thanks!");
            }
            else
            {
                products = repo2.GetAllProducts();

                foreach (var item in products)
                {
                    Console.WriteLine($"{item.CategoryID} {item.Name} {item.Price} {item.ProductID} {item.OnSale} {item.StockLevel}");
                }

                Console.WriteLine("Type the name of the product you would like to update:");

                var existingProductName = Console.ReadLine();

                Console.WriteLine("Type the new product name:");

                var newProductName = Console.ReadLine();

                Console.WriteLine("Type the new product price:");

                var newProductPrice = Convert.ToDouble(Console.ReadLine());

                Console.WriteLine("Type the new product category ID:");

                var newProductCID = Convert.ToInt32(Console.ReadLine());

                repo2.UpdateProduct(existingProductName, newProductName, newProductPrice, newProductCID);

                products = repo2.GetAllProducts();

                foreach (var item in products)
                {
                    Console.WriteLine($"{item.CategoryID} {item.Name} {item.Price} {item.ProductID} {item.OnSale} {item.StockLevel}");
                }
            }
            //Delete an existing product:

            Console.WriteLine("What would you like to delete? (type 'nothing' if you have nothing to delete)");

            answer = Console.ReadLine();

            if (answer == "nothing")
            {
                Console.WriteLine("thanks!");
            }
            else
            {
                repo2.DeleteProduct(answer);

                //showing the reulting database

                products = repo2.GetAllProducts();

                foreach (var item in products)
                {
                    Console.WriteLine($"{item.CategoryID} {item.Name} {item.Price} {item.ProductID} {item.OnSale} {item.StockLevel}");
                }
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            var config = new ConfigurationBuilder()
                         .SetBasePath(Directory.GetCurrentDirectory())
                         .AddJsonFile("appsettings.json")
                         .Build();

            IDbConnection conn = new MySqlConnection(config.GetConnectionString("DefaultConnection"));

            bool quit = false;

            do
            {
                Console.WriteLine("\nNew Department:    D,    New Product:     P\n" +
                                  "Remove Department: X,    Update Product:  U\n" +
                                  "Quit:              Q,    Remove Product:  R\n");

                switch (Console.ReadLine().ToLower())
                {
                case "d":
                {
                    var repo = new DapperDepartmentRepository(conn);

                    Console.WriteLine("Enter a new department name:");

                    var newDepartment = Console.ReadLine();

                    repo.InsertDepartment(newDepartment);
                    Console.WriteLine();

                    foreach (var item in repo.GetAllDepartments())
                    {
                        Console.WriteLine(item.Name);
                    }
                } break;

                case "x":
                {
                    var repo = new DapperDepartmentRepository(conn);
                    foreach (var item in repo.GetAllDepartments())
                    {
                        Console.WriteLine(item.Name);
                    }

                    Console.WriteLine("\nEnter name of Department to remove:");
                    string temp = Console.ReadLine();
                    if (null == repo.GetDepartment(temp))
                    {
                        Console.WriteLine("Invalid Department Name");
                        continue;
                    }

                    Console.WriteLine($"Deleting {temp} department\n");
                    repo.DeleteDepartment(temp);
                    foreach (var item in repo.GetAllDepartments())
                    {
                        Console.WriteLine(item.Name);
                    }
                } break;

                case "q": quit = true; break;

                case "p":
                {
                    Console.WriteLine("Add a new product (category = \'Other\'):");
                    var otherName = Console.ReadLine();
                    Console.WriteLine("Price:");
                    var otherPrice = Double.Parse(Console.ReadLine());

                    var prodRepo = new DapperProductRepository(conn);
                    prodRepo.CreateProduct(otherName, otherPrice, 10);

                    Console.WriteLine($"\n\nFind new {otherName} at the bottom:");
                    foreach (var item in prodRepo.GetAllProducts())
                    {
                        Console.WriteLine($"{item.Name}: ${item.Price}, ID {item.ProductID}");
                    }
                } break;

                case "u":
                {
                    var prodRepo = new DapperProductRepository(conn);
                    foreach (var item in prodRepo.GetAllProducts())
                    {
                        Console.WriteLine($"{item.Name}: ${item.Price}, ID {item.ProductID}");
                    }
                    Console.WriteLine("\nProduct ID to change:");

                    int changeProductID;
                    if (Int32.TryParse(Console.ReadLine(), out changeProductID) == false)
                    {
                        Console.WriteLine("Invalid input");
                        continue;
                    }

                    var queryProduct = new Product();
                    queryProduct = prodRepo.GetProduct(changeProductID);
                    if (queryProduct == null)
                    {
                        Console.WriteLine("Invalid ProductID");
                        continue;
                    }

                    Console.WriteLine($"New name (or just <Enter> to keep '{queryProduct.Name}'):");
                    var temp      = Console.ReadLine();
                    var otherName = temp == "" ? queryProduct.Name : temp;

                    Console.WriteLine($"New price (or just <Enter> to keep {queryProduct.Price}):");
                    temp = Console.ReadLine();

                    double otherPrice;
                    if (temp == "")
                    {
                        otherPrice = queryProduct.Price;
                    }
                    else
                    {
                        otherPrice = double.Parse(temp);
                    }

                    prodRepo.UpdateProduct(otherName, otherPrice, changeProductID);

                    Console.WriteLine($"{queryProduct.Name}: ${queryProduct.Price}, ID {changeProductID} changed to");
                    queryProduct = prodRepo.GetProduct(changeProductID);
                    Console.WriteLine($"{queryProduct.Name}: ${queryProduct.Price}, ID {changeProductID}");
                } break;

                case "r":
                {
                    var prodRepo = new DapperProductRepository(conn);
                    foreach (var item in prodRepo.GetAllProducts())
                    {
                        Console.WriteLine($"{item.Name}: ${item.Price}, ID {item.ProductID}");
                    }
                    Console.WriteLine("\nProduct ID to remove:");

                    int changeProductID;
                    if (Int32.TryParse(Console.ReadLine(), out changeProductID) == false)
                    {
                        Console.WriteLine("Invalid input");
                        continue;
                    }

                    var queryProduct = new Product();
                    queryProduct = prodRepo.GetProduct(changeProductID);
                    if (queryProduct == null)
                    {
                        Console.WriteLine("Invalid ProductID");
                        continue;
                    }

                    Console.WriteLine("Removing product:\n" +
                                      $"{queryProduct.Name}: ${queryProduct.Price}, ID {queryProduct.ProductID}\n");
                    prodRepo.RemoveProduct(changeProductID);

                    var salesRepo = new DapperSalesRepository(conn);
                    if (salesRepo.GetSalesItem(changeProductID).Count() != 0)
                    {
                        Console.WriteLine("Removing from Sales");
                        salesRepo.RemoveProduct(changeProductID);
                    }
                    else
                    {
                        Console.WriteLine("Not found in Sales");
                    }

                    var reviewsRepo = new DapperReviewsRepository(conn);
                    if (reviewsRepo.GetReviewItem(changeProductID).Count() != 0)
                    {
                        Console.WriteLine("Removing from Reviews");
                        reviewsRepo.RemoveProduct(changeProductID);
                    }
                    else
                    {
                        Console.WriteLine("Not found in Reviews");
                    }

                    foreach (var item in prodRepo.GetAllProducts())
                    {
                        Console.WriteLine($"{item.Name}: ${item.Price}, ID {item.ProductID}");
                    }
                } break;

                default: quit = true; break;
                }
            }while (quit == false);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            #region Configuration
            var config = new ConfigurationBuilder()
                         .SetBasePath(Directory.GetCurrentDirectory())
                         .AddJsonFile("appsettings.json")
                         .Build();

            string connString = config.GetConnectionString("DefaultConnection");
            //Console.WriteLine(connString);
            #endregion

            IDbConnection conn = new MySqlConnection(connString);
            var           repo = new DapperDepartmentRepository(conn);
            //exercise 2 portion:
            var repo2 = new DapperProductRepository(conn);
            //bonus 1 update product
            var repo3 = new DapperProductRepository(conn);
            //bonus 2 extra delete products
            var repo4 = new DapperProductRepository(conn);


            Console.WriteLine("Type a new Department name");
            var newDepartment = Console.ReadLine();
            repo.InsertDepartment(newDepartment);

            Console.WriteLine("Type a new Product name");
            var newProduct = Console.ReadLine();
            Console.WriteLine("What is the price?");
            var newPrice = Console.ReadLine();
            Console.WriteLine("Give it a category ID");
            var newCategoryID = Console.ReadLine();
            repo2.CreateProduct(newProduct, double.Parse(newPrice), int.Parse(newCategoryID));


            Console.WriteLine("What is the product ID of the item you want to change the name of?");
            var productID = Console.ReadLine();
            Console.WriteLine("What do you want to change the product name to?");
            var updateName = Console.ReadLine();
            repo3.UpdateProduct(int.Parse(productID), updateName);


            Console.WriteLine("What is the product ID you would like to delete?");
            var deleteProduct = Console.ReadLine();
            repo4.DeleteProduct(int.Parse(deleteProduct));


            var departments = repo.GetAllDepartments();

            foreach (var dept in departments)
            {
                Console.WriteLine(dept.Name);
            }


            var products = repo2.GetAllProducts();

            foreach (var product in products)
            {
                Console.WriteLine(product.Name);
                Console.WriteLine(product.Price);
                Console.WriteLine(product.CategoryID);
            }


            var products2 = repo3.GetAllProducts();

            foreach (var product in products2)
            {
                Console.WriteLine(product.Name);
            }


            var products3 = repo4.GetAllProducts();

            foreach (var product in products3)
            {
                Console.WriteLine(product.Name);
            }
        }