예제 #1
0
        static void Main(string[] args)
        {
            var configBuilder = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())
                                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = configBuilder.Build();

            var optionsBuilder = new DbContextOptionsBuilder <PizzaContext.pizzadatabaseContext>(); //DbContext?

            optionsBuilder.UseSqlServer(configuration.GetConnectionString("pizzadatabase"));
            var options = optionsBuilder.Options;

            var dbContext  = new PizzaContext.pizzadatabaseContext(options);
            var repository = new pizzalibrary.pizzarepository(dbContext);

            //get data
            LoadTestData(masterList);
            UIPrompt();
        }
예제 #2
0
        private static List <List <Order> > LoadTestData(List <List <Order> > masterList)
        {
            Pizza p1 = new Pizza(1, 0, 1, 1, 12.20, 3);
            Pizza p2 = new Pizza(1, 1, 1, 1, 50.00, 1);
            Pizza p3 = new Pizza(1, 0, 1, 0, 34.00, 2);
            User  u1 = new User("bob", "cray", "herndon", DateTime.Now.AddDays(1));
            User  u2 = new User("jay", "day", "dullas", DateTime.Now.AddHours(2));
            User  u3 = new User("eric", "io", "reston", DateTime.Now.AddMinutes(90));
            User  u4 = new User("carl", "mads", "reston", DateTime.Now.AddMinutes(90));
            User  u5 = new User("eric", "ago", "reston", DateTime.Now.AddMinutes(90));

            StoreLocation s1 = new StoreLocation(10, 10, 10, 10, "reston");
            StoreLocation s2 = new StoreLocation(10, 20, 40, 3, "dullas");
            StoreLocation s3 = new StoreLocation(10, 2, 30, 300, "herndon");

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

            IConfigurationRoot configuration = configBuilder.Build();

            var optionsBuilder = new DbContextOptionsBuilder <ContextPizza.pizzadatabaseContext>(); //DbContext?

            optionsBuilder.UseSqlServer(configuration.GetConnectionString("pizzadatabase"));
            var options    = optionsBuilder.Options;
            var dbContext  = new ContextPizza.pizzadatabaseContext(options);
            var repository = new pizzalibrary.pizzarepository(dbContext);

            Order o3 = new Order(u3, s3, p3, DateTime.Now.AddHours(-10));
            Order o4 = new Order(u5, s3, p3, DateTime.Now.AddHours(-10));

            List <Order> userOrders1 = new List <Order>();
            List <Order> userOrders2 = new List <Order>();

            userOrders1.Add(o4);
            userOrders2.Add(o3);

            masterList.Add(userOrders1);
            masterList.Add(userOrders2);
            return(masterList);
        }
예제 #3
0
        private static void SearchUser(List <List <Order> > masterList)
        {
            var configBuilder = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())
                                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = configBuilder.Build();

            var optionsBuilder = new DbContextOptionsBuilder <ContextPizza.pizzadatabaseContext>(); //DbContext?

            optionsBuilder.UseSqlServer(configuration.GetConnectionString("pizzadatabase"));
            var options    = optionsBuilder.Options;
            var dbContext  = new ContextPizza.pizzadatabaseContext(options);
            var repository = new pizzalibrary.pizzarepository(dbContext);


            Console.WriteLine("\nPlease enter a username to search.");
            string username = Console.ReadLine();

            string[] answer = username.Split();

            if (repository.Findidwithname(answer[0], answer[1]) == 1)
            {
                Console.WriteLine(answer[0] + " " + answer[1] + " was found.");
            }

            else
            {
                Console.WriteLine("User was not found.");
            }


            //MasterOrderList.SearchUser(masterList, answer);
            Console.WriteLine("\nPress any key to continue..");
            Console.ReadLine();
            UIPrompt();
        }
예제 #4
0
        private static List <Order> UsersListOfOrders()
        {
            bool ordering = true;

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

            IConfigurationRoot configuration = configBuilder.Build();

            var optionsBuilder = new DbContextOptionsBuilder <ContextPizza.pizzadatabaseContext>(); //DbContext?

            optionsBuilder.UseSqlServer(configuration.GetConnectionString("pizzadatabase"));
            var options    = optionsBuilder.Options;
            var dbContext  = new ContextPizza.pizzadatabaseContext(options);
            var repository = new pizzalibrary.pizzarepository(dbContext);

            while (ordering)
            {
                Console.WriteLine("\nPlease enter a username and user lastname for this new pizza.");
                string   user       = Console.ReadLine();
                string[] userinfo   = user.Split();
                bool     createUser = false;

                if (!MasterOrderList.SearchUser(masterList, userinfo))
                {
                    Console.Write("Would you like to add it? y/n\n");
                    string userCreateAnswer = Console.ReadLine();

                    switch (userCreateAnswer)
                    {
                    case "y":
                        Console.WriteLine("\nLogged in as " + userinfo[0] + ".");
                        createUser = true;
                        break;

                    case "n":
                        Console.WriteLine("\nUsername required to complete order.");
                        UsersListOfOrders();
                        break;

                    default:
                        Console.WriteLine("\nError: unknown input. Restarting order process.");
                        UsersListOfOrders();
                        break;
                    }
                }

                else if (userinfo.Length < 2)
                {
                    Console.WriteLine("\nInvalid format.");
                    UsersListOfOrders();
                }


                bool          chooseLocation = true;
                string        location       = "";
                StoreLocation s = new StoreLocation();

                while (chooseLocation)
                {
                    Console.WriteLine("\nPlease enter a location for which this pizza may be ordered.");
                    location = Console.ReadLine();

                    if (!MasterOrderList.SearchLocation(masterList, location))
                    {
                        Console.Write("\nSorry. Invalid location. Please try again.");
                    }

                    else if (s.CheckIfEmptyInventory(s))
                    {
                        Console.Write("\nThat location has an empty ingredient! Please order later.");
                    }

                    else
                    {
                        Console.WriteLine("\n" + location + " has been confirmed.");
                        s.Location = location;
                        User u = new User(userinfo[0], userinfo[1], location, DateTime.Today);
                        if (!createUser)
                        {
                            repository.Useradd(u);
                            repository.Save();
                        }

                        chooseLocation = false;
                    }
                }

                return(MakePizzas(currentListOfUserOrders, s, new User(userinfo[0], userinfo[1], location, DateTime.Now)));
            }

            return(currentListOfUserOrders);
        }