// GET: ViewModelOrderPizzaq
        public ActionResult IndexVM(string sortOrder, string searchString)
        {
            ViewBag.Message = "Welcome to the Orders!";
            ViewModelOrderPizzas ODSP = new ViewModelOrderPizzas
            {
                ODS = Repo.GetOrders(),
                ODP = Repo.GetPizzas()
            };

            ViewBag.PriceSortParm = sortOrder == "Price" ? "Price_desc" : "Price";
            ViewBag.DateSortParm  = sortOrder == "Date" ? "Date_desc" : "Date";
            ODSP.ODS = from s in _context.Orders
                       select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                ODSP.ODS = ODSP.ODS.Where(s => s.CustomerName.ToUpper().Contains(searchString.ToUpper()) ||
                                          s.CustomerPhoneNumber.Contains(searchString));
            }

            switch (sortOrder)
            {
            case "Price":
                ODSP.ODS = ODSP.ODS.OrderBy(s => s.PizzaFprice);
                break;

            case "Price_desc":
                ODSP.ODS = ODSP.ODS.OrderByDescending(s => s.PizzaFprice);
                break;

            case "Date":
                ODSP.ODS = ODSP.ODS.OrderBy(s => s.OrderDate);
                break;

            case "Date_desc":
                ODSP.ODS = ODSP.ODS.OrderByDescending(s => s.OrderDate);
                break;

            default:
                ODSP.ODS = ODSP.ODS.OrderBy(s => s.PizzaFprice);
                break;
            }

            return(View(ODSP));
        }
Exemplo n.º 2
0
        public void LoadFromDB()
        {
            #region Not in use

            /*ingredients.Add(new Ingredients
             * {
             *
             *  topping = "Pepperonie",
             *  qty = 25
             *
             * });
             *
             * ingredients.Add(new Ingredients
             * {
             *
             *  topping = "Sausagge",
             *  qty = 25
             *
             * });
             *
             * ingredients.Add(new Ingredients
             * {
             *
             *  topping = "Bacon",
             *  qty = 25
             *
             * });
             *
             * Console.WriteLine("Inventory Populated!");
             * Console.WriteLine("");*/

            #endregion

            #region Database

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

            IConfigurationRoot configuration = builder.Build();

            Console.WriteLine(configuration.GetConnectionString("PizzaPalace"));



            #endregion

            var optionsBuilder = new DbContextOptionsBuilder <PizzaPalaceContext>();
            optionsBuilder.UseSqlServer(configuration.GetConnectionString("PizzaPalace"));
            var repo = new PizzaStoreRepository(new PizzaPalaceContext(optionsBuilder.Options));

            var pizza     = repo.GetPizzas();         //*Pizza
            var userin    = repo.GetUserInfo();       //UserInformation
            var locations = repo.GetLocations();      //Locations
            var orderHas  = repo.GetOrderHasPizzas(); //Order_Has_Pizza
            var orderDb   = repo.GetOrders();         //Orders

            foreach (var item in locations)
            {
                location.Add(new Address
                {
                    IdAddress = item.IdLocation,
                    Line1     = item.LocationName
                }

                             );
            }

            foreach (var item in userin)
            {
                foreach (var item2 in locations)
                {
                    if (item.LocationIdLocation == item2.IdLocation)
                    {
                        //add user info here to a list make a new list is what i need to do dont forget.
                        users.Add(new User
                        {
                            Id   = item.IdUser,
                            Name = new Name
                            {
                                First = item.FirstName,
                                Last  = item.LastName
                            },

                            Address = new Address
                            {
                                IdAddress = int.Parse(item2.IdLocation.ToString()),
                                Line1     = item2.LocationName.ToString()
                            }
                        });
                    }
                }
            }


            foreach (var item in pizza)
            {
                piz.Add(new Pizza.Library.Pizza.Pizza
                {
                    IdPizza    = item.IdPizza,
                    NamePizza  = item.PizzaName.ToString(),
                    CountPizza = int.Parse(item.PiizaCount.ToString()),
                    CostPizza  = decimal.Parse(item.PizzaPrice.ToString())
                });
            }


            foreach (var item in orderHas)
            {
                orderHasPizzas.Add(new OrderHasPizza
                {
                    IdOrderHasPizza             = item.IdOrderHasPizza,
                    OrderIdOrder                = item.OrderIdOrder,
                    OrderLocationIdLocation     = item.OrderLocationIdLocation,
                    OrderUserIdUser             = item.OrderUserIdUser,
                    OrderUserLocationIdLocation = item.OrderUserLocationIdLocation,
                    PizzaIdPizza                = item.PizzaIdPizza,
                    AmountOfPizzaInOrder        = item.AmountOfPizzaInOrder
                });
            }

            foreach (var item in orderDb)
            {
                stOrder.Add(new Store.Data.Orders
                {
                    IdOrder                = item.IdOrder,
                    LocationIdLocation     = item.LocationIdLocation,
                    UserIdUser             = item.UserIdUser,
                    UserLocationIdLocation = item.UserLocationIdLocation,
                    DateOfOrders           = item.DateOfOrders,
                });
            }



            try
            {
                //Method used to convert all database informtaion to process it into a List
                int count = 0;
                foreach (var itemOrd in orderDb)
                {
                    if (itemOrd.IdOrder == orderHasPizzas[count].OrderIdOrder)
                    {
                        order.Add(new Pizza.Library.Orders
                        {
                            Id       = int.Parse(orderHasPizzas[count].OrderIdOrder.ToString()),
                            Location = int.Parse(orderHasPizzas[count].OrderLocationIdLocation.ToString()),
                            User     = new User
                            {
                                Id   = int.Parse(users[count].Id.ToString()),
                                Name = new Name
                                {
                                    First = users[count].Name.First.ToString(),
                                    Last  = users[count].Name.Last.ToString()
                                },
                                Address = new Address
                                {
                                    IdAddress = int.Parse(location[count].IdAddress.ToString()),
                                    Line1     = location[count].Line1.ToString()
                                }
                            },
                            Pizza = new Pizza.Library.Pizza.Pizza
                            {
                                IdPizza    = int.Parse(piz[count].IdPizza.ToString()),
                                NamePizza  = piz[count].NamePizza.ToString(),
                                CountPizza = int.Parse(piz[count].CountPizza.ToString()),
                                CostPizza  = decimal.Parse(piz[count].CostPizza.ToString())
                            },
                            AmountOfPizza = int.Parse(orderHasPizzas[count].AmountOfPizzaInOrder.ToString()),
                            Date          = DateTime.Parse(stOrder[count].DateOfOrders.ToString())
                        });

                        count++;
                    }
                }
            }
            catch (FormatException ex)
            {
                Logger logger = LogManager.GetCurrentClassLogger();
                logger.ErrorException("Format Error", ex);
                Console.WriteLine($"Unexpected error: {ex.Message}");
            }
            catch (Exception ex)
            {
                Logger logger = LogManager.GetCurrentClassLogger();
                logger.ErrorException("Format Error", ex);
                Console.WriteLine($"Unexpected error: {ex.Message}");
            }
        }