コード例 #1
0
        static void Main(string[] args)
        {
            logger.Info("Start of Program");
            int choice = 0;
            int cc     = 0;
            int pc     = 0;

            do
            {
                logger.Info("First Choice");

                Console.WriteLine("1) Products");
                Console.WriteLine("2) Categories");
                choice = Convert.ToInt32(Console.ReadLine());

                //Products
                if (choice == 1)
                {
                    logger.Info("Enter product");
                    do
                    {
                        Console.WriteLine("1) Add Product");
                        Console.WriteLine("2) Edit Product");
                        Console.WriteLine("3) Display All Products");
                        Console.WriteLine("4) Display Specific Product");
                        pc = Convert.ToInt32(Console.ReadLine());

                        //Add Product
                        if (pc == 1)
                        {
                            logger.Info("Add Product");
                            var     db      = new NorthwindContext();
                            Product product = InputProduct(db);
                        }
                        //Edit Specific Product
                        else if (pc == 2)
                        {
                            logger.Info("Edit Product");
                            Console.WriteLine("Choose Profuct to edit");
                            var db      = new NorthwindContext();
                            var product = GetProduct(db);
                            if (product != null)
                            {
                                Product UpdatedProduct = InputProduct(db);
                                if (UpdatedProduct != null)
                                {
                                    UpdatedProduct.ProductID = product.ProductID;
                                    db.EditProduct(UpdatedProduct);
                                }
                            }
                        }

                        //Display all records
                        else if (pc == 3)
                        {
                            logger.Info("Display products");
                            int prod;
                            do
                            {
                                Console.WriteLine("1) All Products");
                                Console.WriteLine("2) All Discontinued Products");
                                Console.WriteLine("3) All Active Products");
                                prod = Convert.ToInt16(Console.ReadLine());

                                //All Products
                                if (prod == 1)
                                {
                                    logger.Info("Display all products");
                                    var db    = new NorthwindContext();
                                    var query = db.Products.OrderBy(p => p.ProductID);

                                    foreach (var item in query)
                                    {
                                        Console.WriteLine($"{item.ProductID}, {item.ProductName}");
                                    }
                                }

                                //discontinued Products
                                else if (prod == 2)
                                {
                                    logger.Info("Display discounted products");
                                    var db    = new NorthwindContext();
                                    var query = db.Products.OrderBy(p => p.Discontinued == true);

                                    Console.WriteLine("Discontinued Products");

                                    foreach (var item in query)
                                    {
                                        Console.WriteLine($"{item.ProductName}");
                                    }
                                }

                                // Active Products
                                else if (prod == 3)
                                {
                                    logger.Info("Display activate products");
                                    var db    = new NorthwindContext();
                                    var query = db.Products.OrderBy(p => p.Discontinued == false);

                                    Console.WriteLine("Activate Products");

                                    foreach (var item in query)
                                    {
                                        Console.WriteLine($"{item.ProductName}");
                                    }
                                }
                            } while (prod != 4);
                        }
                    } while (pc == 4);
                }


                //Categories
                else if (choice == 2)
                {
                    do
                    {
                        logger.Info("Display Category");
                        Console.WriteLine("1) Display Categories");
                        Console.WriteLine("2) Add Category");
                        Console.WriteLine("3) Display Categorie and items in list");
                        Console.WriteLine("4) Display all Categories and items in their list");
                        Console.WriteLine("5) Edit Category");
                        cc = Convert.ToInt32(Console.ReadLine());

                        //Display all categories
                        if (cc == 1)
                        {
                            logger.Info("Display all Category");

                            var db    = new NorthwindContext();
                            var query = db.Categories.OrderBy(p => p.CategoryName);

                            Console.WriteLine($"{query.Count()} records returned");
                            foreach (var item in query)
                            {
                                Console.WriteLine($"{item.CategoryName} - {item.Description}");
                            }
                        }

                        //Add Categories
                        else if (cc == 2)
                        {
                            logger.Info("add Category");

                            var      db       = new NorthwindContext();
                            Category category = InputCategory(db);
                        }

                        //Display Categorie and iteims in list
                        else if (cc == 3)
                        {
                            logger.Info("Display Category and Items");
                            var db    = new NorthwindContext();
                            var query = db.Categories.OrderBy(p => p.CategoryId);

                            Console.WriteLine("Select the category whose products you want to display:");
                            foreach (var item in query)
                            {
                                Console.WriteLine($"{item.CategoryId}) {item.CategoryName}");
                            }
                            int id = int.Parse(Console.ReadLine());
                            Console.Clear();
                            logger.Info($"CategoryId {id} selected");
                            Category category = db.Categories.FirstOrDefault(c => c.CategoryId == id);
                            Console.WriteLine($"{category.CategoryName} - {category.Description}");
                            foreach (Product p in category.Products)
                            {
                                Console.WriteLine(p.ProductName);
                            }
                        }

                        //Display all Categories
                        else if (cc == 4)
                        {
                            var db    = new NorthwindContext();
                            var query = db.Categories.Include("Products").OrderBy(p => p.CategoryId);
                            foreach (var item in query)
                            {
                                Console.WriteLine($"{item.CategoryName}");
                                foreach (Product p in item.Products)
                                {
                                    Console.WriteLine($"\t{p.ProductName}");
                                }
                            }
                        }

                        //Edit Category
                        else if (cc == 5)
                        {
                            logger.Info("Edit Category");
                            Console.WriteLine("Choose Category to edit");
                            var db  = new NorthwindContext();
                            var cat = GetCategory(db);
                            if (cat != null)
                            {
                                Category UpdatedCategory = InputCategory(db);
                                if (UpdatedCategory != null)
                                {
                                    UpdatedCategory.CategoryId = cat.CategoryId;
                                    db.EditCatagory(UpdatedCategory);
                                }
                            }
                        }
                    } while (cc != 5);
                }
            } while (choice != 6);
        }