Exemple #1
0
        public void Suggested(string name, string number)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();

            var optionsBuilder = new DbContextOptionsBuilder <PizzaStoreDBContext>();

            optionsBuilder.UseSqlServer(configuration.GetConnectionString("PizzaStoreDB"));

            var repo = new PizzaStoreRepository(new PizzaStoreDBContext(optionsBuilder.Options));

            var PST = repo.GetCustomers();

            var cust = PST.FirstOrDefault(x => x.FirstName == name &&
                                          x.PhoneNumber == number);

            if (cust != null && cust.FirstName == name && cust.PhoneNumber == number)
            {
                try
                {
                    var od = repo.GetOrders().LastOrDefault(x => x.CustomerName == name &&
                                                            x.CustomerPhoneNumber == number);
                    var p = repo.GetPizzas().LastOrDefault(x => x.OrderId == od.OrderNumber);

                    Console.WriteLine("Heres a Suggestion: ");
                    Console.WriteLine($"A {p.Size} Pizza ");
                    Console.WriteLine($"With {p.Topping} topping");
                }
                catch (Exception)
                {
                    Console.WriteLine("Nothing to suggest.");
                }
            }
        }
Exemple #2
0
        public void OrdersbyUser()
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();

            var optionsBuilder = new DbContextOptionsBuilder <PizzaStoreDBContext>();

            optionsBuilder.UseSqlServer(configuration.GetConnectionString("PizzaStoreDB"));

            var repo = new PizzaStoreRepository(new PizzaStoreDBContext(optionsBuilder.Options));

            string CName;
            string Pnumber;



            Console.Write("Enter youre name: ");
            CName = Console.ReadLine();
            CName = CName.ToUpper();
            Console.Write("And you're phone number: ");
            Pnumber = Console.ReadLine();



            var PSC = repo.GetCustomers().FirstOrDefault(x => x.FirstName == CName &&
                                                         x.PhoneNumber == Pnumber);

            if (PSC.FirstName == CName && PSC.PhoneNumber == Pnumber)
            {
                var PSO = repo.GetOrders().Where(x => x.CustomerName == CName &&
                                                 x.CustomerPhoneNumber == Pnumber);
                var PSP = repo.GetPizzas();

                Console.WriteLine("********** ORDER HISTORY by Location **********");
                Console.WriteLine();
                foreach (var item in PSO)
                {
                    Console.WriteLine("______________________________");
                    Console.WriteLine($"Order Number: {item.OrderNumber}");
                    Console.WriteLine($"Customer Name: {item.CustomerName} {item.CustomerLastname}");
                    Console.WriteLine($"Customer #: {item.CustomerPhoneNumber}");
                    Console.WriteLine($"Order location: {item.OrderLocaton}");
                    Console.WriteLine($"Store: {item.StoreName}");
                    foreach (var pizza in PSP.Where(x => x.OrderId == item.OrderNumber))
                    {
                        Console.WriteLine();
                        Console.WriteLine("||||||||||||||||||||");
                        Console.WriteLine($"Pizza size: {pizza.Size}");
                        Console.WriteLine($"Pizza Topping: {pizza.Topping}");
                        Console.WriteLine("||||||||||||||||||||");
                        Console.WriteLine();
                    }
                    Console.WriteLine($"Price: {item.PizzaPrice}");
                    Console.WriteLine($"Total Price: {item.PizzaFprice}");
                    Console.WriteLine($"Order Date: {item.OrderDate}");
                    Console.WriteLine("______________________________");
                    Console.WriteLine();
                }
            }
            else
            {
                Console.WriteLine("Error");
                Console.ReadLine();
                Admin();
            }

            Console.ReadLine();
            Admin();
        }
Exemple #3
0
        public void PlaceOrder2()
        {
            Random   rdm  = new Random();
            int      ONum = rdm.Next(1, 1000000);
            string   CName;
            string   Pnum;
            string   LName     = "";
            string   Olocation = "";
            double   PPrice    = 0;
            double   PFPrice;
            DateTime ODate     = DateTime.Now;
            string   storeName = "";

            string Psize = "";
            string Ptopping;
            bool   PGcrust = false;
            int    Oid     = ONum;

            List <Pizza> piz = new List <Pizza>();

            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();

            var optionsBuilder = new DbContextOptionsBuilder <PizzaStoreDBContext>();

            optionsBuilder.UseSqlServer(configuration.GetConnectionString("PizzaStoreDB"));

            var repo = new PizzaStoreRepository(new PizzaStoreDBContext(optionsBuilder.Options));

            var PST = repo.GetCustomers();

            Console.Clear();
            Console.WriteLine("------Place you're order------");
            Console.WriteLine("");
            Console.Write("Enter youre name: ");
            CName = Console.ReadLine();
            CName = CName.ToUpper();
            Console.Write("And you're phone number: ");
            Pnum = Console.ReadLine();
            if (Pnum == null || Pnum == " ")
            {
                do
                {
                    Console.WriteLine();
                    Console.WriteLine("Warning: You need to enter a Phone Number in order to identify you.");
                    Console.Write("Please enter your phone number: ");
                    Pnum = Console.ReadLine();
                } while (Pnum != null || Pnum != "");
            }

            var cust = PST.FirstOrDefault(x => x.FirstName == CName &&
                                          x.PhoneNumber == Pnum);

            try
            {
                if (cust.FirstName != CName && cust.PhoneNumber != Pnum)
                {
                    Console.WriteLine("WARNING: No such customer exists please try again...");
                    Menu();
                }
                else
                {
                    Console.WriteLine($"customer found!");
                    Console.Clear();

                    Suggested(CName, Pnum);

                    var PSS   = repo.GetStores();
                    int count = 1;

                    Console.WriteLine("------Pizza------");
                    Console.WriteLine("");
                    foreach (var item in PSS)
                    {
                        Console.WriteLine();
                        Console.WriteLine("==============================");
                        Console.WriteLine($"{count}) {item.StoreName} ({item.StoreLocation})");
                        Console.WriteLine("==============================");
                        count++;
                    }
                    Console.Write("Where do you want to order from: ");
                    int ch = Convert.ToInt32(Console.ReadLine());

                    switch (ch)
                    {
                    case 1:
                    {
                        storeName = "RBPizzas";
                        break;
                    }

                    case 2:
                    {
                        storeName = "Washinton DC";
                        break;
                    }

                    case 3:
                    {
                        storeName = "Alexandria";
                        break;
                    }

                    default:
                    {
                        Console.WriteLine("Wrong input");
                        Menu();
                    }
                    break;
                    }

                    Console.Write("Choose you're pizza size: (1.REGULAR, 2.MEDIUM, 3.LARGE, 4.EXTRALARGE)");
                    int ps = Convert.ToInt32(Console.ReadLine());
                    switch (ps)
                    {
                    case 1:
                    {
                        Psize = "REGULAR";
                        break;
                    }

                    case 2:
                    {
                        Psize = "MEDIUM";
                        break;
                    }

                    case 3:
                    {
                        Psize = "LARGE";
                        break;
                    }

                    case 4:
                    {
                        Psize = "EXTRALARGE";
                        break;
                    }

                    default:
                    {
                        Console.WriteLine("Wrong input");
                        Menu();
                    }
                    break;
                    }

                    if (Psize == "REGULAR")
                    {
                        PPrice = PPrice + 5;
                    }
                    else if (Psize == "MEDIUM")
                    {
                        PPrice = PPrice + 10;
                    }
                    else if (Psize == "LARGE")
                    {
                        PPrice = PPrice + 15;
                    }
                    else if (Psize == "EXTRALARGE")
                    {
                        PPrice = PPrice + 20;
                    }

                    Console.Write("Choose you're tooping: (1.CHICKEN, 2.PEPPERONI, 3.VEGGIES)");
                    int pt = Convert.ToInt32(Console.ReadLine());
                    Ptopping = Console.ReadLine();
                    switch (pt)
                    {
                    case 1:
                    {
                        Ptopping = "CHICKEN";
                        break;
                    }

                    case 2:
                    {
                        Ptopping = "PEPPERONI";
                        break;
                    }

                    case 3:
                    {
                        Ptopping = "VEGGIES";
                        break;
                    }

                    case 4:
                    {
                        Psize = "EXTRALARGE";
                        break;
                    }

                    default:
                    {
                        Console.WriteLine("Wrong input");
                        Menu();
                    }
                    break;
                    }

                    if (Ptopping == "CHICKEN")
                    {
                        PPrice = PPrice + 1;
                    }
                    else if (Ptopping == "PEPPERONI")
                    {
                        PPrice = PPrice + .50;
                    }
                    else if (Ptopping == "VEGGIES")
                    {
                        PPrice = PPrice + 3;
                    }
                    Console.Write("Do you want garlic on you're pizza crust: [Y/N] ");
                    string ans = Console.ReadLine();
                    ans = ans.ToUpper();
                    if (ans == "Y")
                    {
                        PGcrust = true;
                    }
                    else if (ans == "N")
                    {
                        PGcrust = false;
                    }
                    else
                    {
                        PGcrust = false;
                    }

                    if (PGcrust == true)
                    {
                        PPrice = PPrice + 1;
                    }


                    PFPrice = (PPrice + (PPrice * .08));
                    if (PFPrice < 500)
                    {
                        repo.AddOrders(ONum, CName, LName = cust.LastName, Olocation = cust.Location.ToUpper(), PPrice, PFPrice, ODate, storeName, Pnum);
                        repo.SaveChanges();
                        repo.AddPizza(Psize, Ptopping, PGcrust, Oid);
                        repo.SaveChanges();
                    }
                    else
                    {
                        Console.WriteLine("WARNING: TOTAL PRICE SURPASSES 500$ ");
                        Console.ReadLine();
                        Menu();
                    }

                    Console.Clear();
                    Console.WriteLine("---Order Details---");
                    Console.WriteLine();
                    Console.WriteLine($"Order Number: {ONum}");
                    Console.Write(CName.ToUpper() + " ");
                    Console.WriteLine(LName.ToUpper());
                    Console.WriteLine($"Customer #: {Pnum}");
                    Console.WriteLine($"Order location: {Olocation}");
                    Console.WriteLine($"Store: {storeName}");
                    Console.WriteLine($"Pizza size: {Psize}");
                    Console.WriteLine($"Pizza topping: {Ptopping}");
                    Console.WriteLine($"Garlic Crust: {PGcrust}");
                    Console.WriteLine($"Price: {PPrice}");
                    Console.WriteLine($"Total Price: {PFPrice}");
                    Console.WriteLine($"Order Date: {ODate}");
                    Console.ReadLine();
                    Menu();
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Error!");
                Console.ReadLine();
                Menu();
            }
        }