コード例 #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);
            var           repo       = new DapperDepartmentRepository(conn);

            var departments = repo.GetAllDepartments();

            repo.InsertDepartment("Perfume");
            foreach (var item in departments)
            {
                Console.WriteLine($"{item.DepartmentID} {item.Name}");
            }



            Console.WriteLine("asdfa");
            var repo2    = new DapperProductRepository(conn);
            var products = repo2.GetAllProducts();

            Console.WriteLine("asdfasdfasdfa");

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

            repo2.CreateProduct("Mac Book", 2000, 2);
        }
コード例 #2
0
        public static void CreateAndListProducts()
        {
            //created instance so we can call methods that hit the database
            var prodRepo = new DapperProductRepository(conn);

            Console.WriteLine($"What is the new product name?");
            var prodName = Console.ReadLine();

            Console.WriteLine($"What is the new product's price?");
            var price = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine($"What is the new product's category id?");
            var categoryID = Convert.ToInt32(Console.ReadLine());

            prodRepo.CreateProduct(prodName, price, categoryID);


            //call the GetAllProducts method using that instance and store the result
            //in the products variable
            var products = prodRepo.GetAllProducts();

            //print each product from the products collection to the console
            foreach (var product in products)
            {
                Console.WriteLine($"{product.ProductID} {product.Name}");
            }
        }
コード例 #3
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);


            //-------

            var departmentRepo = new DapperDepartmentRepository(conn);

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

            var newDepartment = Console.ReadLine();

            departmentRepo.InsertDepartment(newDepartment);

            var departments = departmentRepo.GetAllDepartments();

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

            //-------


            var productRepo = new DapperProductRepository(conn);

            Console.WriteLine("Type a new Product name");

            var newProduct = Console.ReadLine();

            Console.WriteLine("Type the Price");

            var newPrice = double.Parse(Console.ReadLine());

            Console.WriteLine("Type the Category ID");

            var newCategoryId = int.Parse(Console.ReadLine());

            productRepo.InsertProduct(newProduct, newPrice, newCategoryId);

            var products = productRepo.GetAllProducts();

            foreach (var item in products)
            {
                Console.WriteLine($"{item.ProductID} {item.Name}");
            }
        }
コード例 #4
0
        public static void ListProducts()
        {
            var prodRepo = new DapperProductRepository(conn);
            var products = prodRepo.GetAllProducts();

            //print each product from the products collection to the console
            foreach (var product in products)
            {
                Console.WriteLine($"{product.ProductID} {product.Name}");
            }
        }
コード例 #5
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);

            DapperDepartmentRepository departmentRepo = new DapperDepartmentRepository(conn);

            Console.WriteLine("Hello user, here are the current departments: ");
            Console.WriteLine("Please press Enter. . .");
            Console.ReadLine();

            var departments = departmentRepo.GetAllDepartments();
            Print(departments);

            Console.WriteLine("Do you want to add a department?");
            string userResponse = Console.ReadLine();

            if (userResponse.ToLower() == "yes")
            {
                Console.WriteLine("What is the name of the new department?");
                userResponse = Console.ReadLine();

                departmentRepo.InsertDepartment(userResponse);
                Print(departmentRepo.GetAllDepartments());
            }

            // PRODUCTS
            Console.WriteLine("Hello user, here are the current products: ");
            Console.WriteLine("Please press Enter. . .");
            Console.ReadLine();
            DapperProductRepository productRepo = new DapperProductRepository(conn);

            // Create, Update, and Delete Methods
            // productRepo.CreateProduct("newProduct", 20, 1);
            // productRepo.UpdateProductName(942, "newStuff");
            // productRepo.DeleteProduct(942);

            // Read Method
            // GetAllProducts belongs to the instance of the DapperProductRepository class
            var products = productRepo.GetAllProducts();
            PrintProducts(products);

            Console.WriteLine("Have a great day!");
        }
コード例 #6
0
        public static void UpdateProductName()
        {
            var prodRepo = new DapperProductRepository(conn);

            Console.WriteLine($"What is the productID of the product you would like to update?");
            var productID = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine($"What is the new name you would like for the product with an id of {productID}?");
            var updatedName = Console.ReadLine();

            prodRepo.UpdateProductName(productID, updatedName);
        }
コード例 #7
0
        //We can use these methods that add user interaction with our Dapper Methods
        public static void DeleteProduct()
        {
            //ProductRepository instance - so we can call our dapper methods
            var prodRepo = new DapperProductRepository(conn);

            //User interaction
            Console.WriteLine($"Please enter the productID of the product you would like to delete:");
            var productID = Convert.ToInt32(Console.ReadLine());

            //Call the Dapper method
            prodRepo.DeleteProduct(productID);
        }
コード例 #8
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);

            var repo     = new DapperProductRepository(conn);
            var products = repo.GetAllProducts();

            foreach (var prod in products)
            {
                Console.WriteLine(prod.Name);
            }
        }
コード例 #9
0
        static void Main(string[] args)
        {
            #region
            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);
            DapperDepartmentRepository departmentRepo = new DapperDepartmentRepository(conn);
            DapperProductRepository    productRepo    = new DapperProductRepository(conn);

            Console.WriteLine("Hello user, would you like to view the departments or products?");
            string userPick = Console.ReadLine();


            if (userPick.ToLower() == "department" || userPick.ToLower() == "departments")
            {
                Console.WriteLine("Here are the current departments:");
                //Console.WriteLine("Please press enter...");
                Console.WriteLine();
                var depos = departmentRepo.GetAllDepartments();

                PrintDepartment(depos);

                Console.WriteLine("Do you want to add a department?");
                string userResponse = Console.ReadLine();

                if (userResponse.ToLower() == "yes")
                {
                    Console.WriteLine("What is the name of your new Department??");
                    userResponse = Console.ReadLine();
                    departmentRepo.InsertDepartment(userResponse);
                    PrintDepartment(departmentRepo.GetAllDepartments());
                }
            }
            if (userPick.ToLower() == "product" || userPick.ToLower() == "products")
            {
                Console.WriteLine("Here are the current products:");
                Console.WriteLine();
                var depos = productRepo.GetAllProducts();

                PrintProducts(depos);

                Console.WriteLine("Do you want to add a product?");
                string userRepsonse = Console.ReadLine();

                if (userRepsonse.ToLower() == "yes")
                {
                    Console.WriteLine("What is the Name of your new Product?");
                    string newProductName = Console.ReadLine();
                    Console.WriteLine("What is the Price of your new Product?");
                    var newProductPrice = double.Parse(Console.ReadLine());
                    Console.WriteLine("What is the CategoryID of your new Product?");
                    int newProductCategory = int.Parse(Console.ReadLine());

                    productRepo.CreateProduct(newProductName, newProductPrice, newProductCategory);
                    PrintProducts(productRepo.GetAllProducts());
                }
            }

            Console.WriteLine("Have a great day.");
        }
コード例 #10
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);
        }
コード例 #11
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}");
                }
            }
        }
コード例 #12
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);
            var           repo = new DapperDepartmentRepository(conn);

            Console.WriteLine("Write a New Department Name");

            var newDepartmentName = Console.ReadLine();

            repo.InsertDepartment(newDepartmentName);

            var departement = repo.GetAllDepartments();

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

            var productRepo = new DapperProductRepository(conn);

            var products = productRepo.GetAllProducts();

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

            Console.WriteLine("Let's Make a new product!");
            Console.WriteLine("What's your product's name?");
            string newProduct = Console.ReadLine();

            Console.WriteLine("What's the products category?");
            int newCategoryID = int.Parse(Console.ReadLine());

            Console.WriteLine("And how much is it? ");

            double newPrice = double.Parse(Console.ReadLine());

            productRepo.CreateProduct(newProduct, newPrice, newCategoryID);

            Console.WriteLine("Let's update a price!");

            Console.WriteLine("What is the product id that needs to be updated?");

            int productToBeUpdated = int.Parse(Console.ReadLine());

            Console.WriteLine("What's the new name of this product?");

            string productNameToBeUpdated = Console.ReadLine();

            Console.WriteLine("And What is the new price?");

            double updatedPriceProd = double.Parse(Console.ReadLine());
        }
コード例 #13
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);
            }
        }