コード例 #1
0
        public IActionResult Post(LoginViewModel loginViewModel)
        {
            if (ModelState.IsValid)
            {
                PizzaBoxRepository repo = new PizzaBoxRepository();

                UserViewModelClient userViewModelClient = repo.InitUser(loginViewModel.Username, loginViewModel.Password);

                UserViewModel userViewModel = new UserViewModel()
                {
                    Orders = userViewModelClient.Orders,
                    User   = userViewModelClient.User,
                };

                TempData["username"] = userViewModel.User.Login.Username;
                TempData["password"] = userViewModel.User.Login.Password;
                TempData.Keep();

                System.Console.WriteLine("Login Controller: " + userViewModel.User.Name);

                return(View("Index", userViewModel));
            }

            return(View("Login", loginViewModel));
        }
コード例 #2
0
        public IActionResult PlaceOrder2(CartViewModel cartView)
        {
            PizzaBoxRepository repo = new PizzaBoxRepository();

            UserViewModelClient userViewModelClient = repo.InitUser(TempData["username"] as string, TempData["password"] as string);

            TempData["username"] = userViewModelClient.User.Login.Username;
            TempData["password"] = userViewModelClient.User.Login.Password;

            OrderModel cart;

            XmlSerializer deserializer = new XmlSerializer(typeof(OrderModel));

            using (TextReader tr = new StringReader(TempData["cart"] as string)){
                cart = (OrderModel)deserializer.Deserialize(tr);
            }

            TempData.Keep();
            cart.Store = repo.FindStoreByName(cartView.StoreString);
            cart.PlaceOrder();
            cart.User = userViewModelClient.User;
            repo.PlaceOrder(cart);

            return(View("AddedToCart"));
        }
コード例 #3
0
        public void Test1()
        {
            PizzaBoxRepository repo = new PizzaBoxRepository();

            UserViewModelClient User = new UserViewModelClient();

            User = repo.InitUser("jpchionglo", "password");
            Console.WriteLine(User.User.Name);
        }
コード例 #4
0
        public void CreatePizzaTest()
        {
            var   repo = new PizzaBoxRepository();
            Pizza p    = new Pizza("Cheese Pizza", new Size("Small", 5.00), new Crust("Normal Crust", 0), new List <Topping> {
                new Topping("Cheese", 0.25), new Topping("Pepperoni", 0.25)
            });

            repo.CreatePizza(p, 1);
        }
コード例 #5
0
        public void ReadPizzaTest()
        {
            var   repo = new PizzaBoxRepository();
            Pizza p    = repo.ReadPizza(3);
            Pizza act  = new Pizza("Cheese Pizza", new Size("Small", 5.00), new Crust("Normal Crust", 0), new List <Topping> {
                new Topping("Cheese", 0.25), new Topping("Pepperoni", 0.25)
            });

            Assert.IsType <Pizza>(act);
        }
コード例 #6
0
        public void CreateOrderTest()
        {
            var   repo = new PizzaBoxRepository();
            Order o    = new Order();

            o.Status  = "Complete";
            o.StoreId = 1;
            o.UserId  = 1;
            o.Date    = DateTime.Now;
            Pizza p = new Pizza("Cheese Pizza", new Size("Small", 5.00), new Crust("Normal Crust", 0), new List <Topping> {
                new Topping("Cheese", 0.25)
            });
            Pizza p2 = new Pizza("Pepperoni Pizza", new Size("Small", 5.00), new Crust("Normal Crust", 0), new List <Topping> {
                new Topping("Cheese", 0.25), new Topping("Pepperoni", 0.25)
            });

            o.Pizzas.Add(p);
            o.Pizzas.Add(p2);
            repo.CreateOrder(o, 1, 1);
        }
コード例 #7
0
        public IActionResult gotoIndex()
        {
            TempData["username"] = TempData["username"];
            TempData["password"] = TempData["password"];

            TempData.Keep();

            PizzaBoxRepository repo = new PizzaBoxRepository();

            UserViewModelClient userViewModelClient = repo.InitUser(TempData["username"] as string, TempData["password"] as string);

            UserViewModel userViewModel = new UserViewModel()
            {
                Orders = userViewModelClient.Orders,
                User   = userViewModelClient.User,
                Store  = userViewModelClient.Store,
                //Cart = repo.CreateOrder()
            };

            return(View("Index", userViewModel));
        }
コード例 #8
0
        public void Test1()
        {
            PizzaModel pizza = new PizzaModel();

            pizza.Toppings.Add(new ToppingModel()
            {
                Name = "Pepperoni"
            });
            pizza.Crust = new CrustModel()
            {
                Name = "Stuffed"
            };
            pizza.Size = new SizeModel()
            {
                Name = "Medium"
            };
            pizza.Name = "Pepperoni";

            PizzaBoxRepository repo = new PizzaBoxRepository();

            repo.CreatePizza(pizza);
        }
コード例 #9
0
        //[InlineData("Pepperoni","HandTossed","Medium","Pepperoni")]
        //[InlineData("Pepperoni","HandTossed","Medium","Pepperoni")]
        public void Test1(string topping, string crust, string size, string name)
        {
            PizzaModel pizza = new PizzaModel();

            pizza.Toppings.Add(new ToppingModel()
            {
                Name = topping
            });
            pizza.Crust = new CrustModel()
            {
                Name = crust
            };
            pizza.Size = new SizeModel()
            {
                Name = size
            };
            pizza.Name = name;

            PizzaBoxRepository repo = new PizzaBoxRepository();

            UserViewModelClient user = repo.InitUser("jpchionglo", "password");

            StoreModel store = repo.FindStoreByName("Oakwood");

            OrderModel order = new OrderModel()
            {
                Pizzas = new System.Collections.Generic.List <PizzaModel>()
                {
                    pizza
                },
                User  = user.User,
                Store = store
            };

            order.PlaceOrder();

            repo.PlaceOrder(order);
        }
コード例 #10
0
 public AccountController(PizzaBoxRepository repository)
 {
     _pbr = repository;
 }
コード例 #11
0
 public OrderController(PizzaBoxRepository context)
 {
     _ctx = context;
 }
コード例 #12
0
        public IActionResult PlaceOrder(CartViewModel cartViewModel)
        {
            PizzaBoxRepository repo = new PizzaBoxRepository();

            //.WriteLine("MY NAME IS " + TempData["username"] as string);

            UserViewModelClient userViewModelClient = repo.InitUser(TempData["username"] as string, TempData["password"] as string);

            cartViewModel.Orders = userViewModelClient.Orders;
            cartViewModel.User   = userViewModelClient.User;
            cartViewModel.Store  = userViewModelClient.Store;
            //cartViewModel.Cart = userViewModelClient.Cart;
            //cartViewModel.Cart.User = cartViewModel.User;

            List <CrustModel>   crusts   = _db.Crust.ToList();
            List <SizeModel>    sizes    = _db.Size.ToList();
            List <ToppingModel> toppings = _db.Topping.ToList();
            List <StoreModel>   stores   = _db.Store.ToList();

            cartViewModel.SpecialtyPizzas = repo.GetSpecialtyPizzas();

            foreach (CrustModel crust in crusts)
            {
                cartViewModel.Crusts.Add(crust.Name);
            }

            foreach (SizeModel size in sizes)
            {
                cartViewModel.Sizes.Add(size.Name);
            }

            foreach (ToppingModel topping in toppings)
            {
                cartViewModel.Toppings.Add(topping.Name);
            }

            foreach (StoreModel store in stores)
            {
                cartViewModel.Stores.Add(store.Name);
            }

            TempData["username"] = cartViewModel.User.Login.Username;
            TempData["password"] = cartViewModel.User.Login.Password;

            //Console.WriteLine("BUT MY REAL NAME IS " + cartViewModel.User.Name);

            string[] stringList = cartViewModel.SelectedToppings3.Split(' ');

            /* foreach (CheckBoxTopping check in cartViewModel.SelectedToppings2){
             *
             * if (check.isSelected){
             *  stringList.Add(check.Text);
             * }
             *
             * } */

            /* Console.WriteLine("BOXES CHECKED: " + stringList.Count);
             * Console.WriteLine("SELECTED TOPPINGS COUNT: " + cartViewModel.SelectedToppings2.Count); */

            OrderModel cart;

            XmlSerializer deserializer = new XmlSerializer(typeof(OrderModel));

            using (TextReader tr = new StringReader(TempData["cart"] as string)){
                cart = (OrderModel)deserializer.Deserialize(tr);
            }

            if (ModelState.IsValid)
            {
                /* repo.AddPizzaToCart(new PizzaModel() {Name = "Custom",
                 * Crust = repo.FindCrustByName(cartViewModel.Crust),
                 * Size = repo.FindSizeByName(cartViewModel.Size),
                 * Toppings = repo.FindToppingsByNames(stringList)
                 * },
                 * Int32.Parse(TempData["orderid"] as string)
                 * ); */

                cart.Pizzas.Add(new PizzaModel()
                {
                    Name     = "Custom",
                    Crust    = repo.FindCrustByName(cartViewModel.Crust),
                    Size     = repo.FindSizeByName(cartViewModel.Size),
                    Toppings = repo.FindToppingsByNames(stringList)
                });
            }

            XmlSerializer serializer = new XmlSerializer(cart.GetType());

            using (StringWriter sw = new StringWriter()){
                serializer.Serialize(sw, cart);
                TempData["cart"] = sw.ToString();
            }

            cartViewModel.Cart = cart;

            //TempData["orderid"] = cartViewModel.Cart.Id.ToString();

            TempData.Keep();

            return(View("Edit", cartViewModel));
        }
コード例 #13
0
        public IActionResult AddSpecialPizza(CartViewModel cartViewModel)
        {
            PizzaBoxRepository repo = new PizzaBoxRepository();

            //.WriteLine("MY NAME IS " + TempData["username"] as string);

            UserViewModelClient userViewModelClient = repo.InitUser(TempData["username"] as string, TempData["password"] as string);

            cartViewModel.Orders = userViewModelClient.Orders;
            cartViewModel.User   = userViewModelClient.User;
            cartViewModel.Store  = userViewModelClient.Store;
            //cartViewModel.Cart = userViewModelClient.Cart;
            //cartViewModel.Cart.User = cartViewModel.User;

            List <CrustModel>   crusts   = _db.Crust.ToList();
            List <SizeModel>    sizes    = _db.Size.ToList();
            List <ToppingModel> toppings = _db.Topping.ToList();
            List <StoreModel>   stores   = _db.Store.ToList();

            cartViewModel.SpecialtyPizzas = repo.GetSpecialtyPizzas();

            foreach (CrustModel crust in crusts)
            {
                cartViewModel.Crusts.Add(crust.Name);
            }

            foreach (SizeModel size in sizes)
            {
                cartViewModel.Sizes.Add(size.Name);
            }

            foreach (ToppingModel topping in toppings)
            {
                cartViewModel.Toppings.Add(topping.Name);
            }

            foreach (StoreModel store in stores)
            {
                cartViewModel.Stores.Add(store.Name);
            }



            TempData["username"] = cartViewModel.User.Login.Username;
            TempData["password"] = cartViewModel.User.Login.Password;

            OrderModel cart;

            XmlSerializer deserializer = new XmlSerializer(typeof(OrderModel));

            using (TextReader tr = new StringReader(TempData["cart"] as string)){
                cart = (OrderModel)deserializer.Deserialize(tr);
            }

            /* if (ModelState.IsValid){
             *
             * cart.Pizzas.Add(new PizzaModel() {Name = "Custom",
             *  Crust = repo.FindCrustByName(cartViewModel.Crust),
             *  Size = repo.FindSizeByName(cartViewModel.Size),
             *  Toppings = repo.FindToppingsByNames(stringList)
             *  });
             *
             * }
             */

            PizzaModel specialPizza = repo.GetSpecialPizzaByName(cartViewModel.SpecialtyPizza);

            cart.Pizzas.Add(specialPizza);

            XmlSerializer serializer = new XmlSerializer(cart.GetType());

            using (StringWriter sw = new StringWriter()){
                serializer.Serialize(sw, cart);
                TempData["cart"] = sw.ToString();
            }

            cartViewModel.Cart = cart;

            //TempData["orderid"] = cartViewModel.Cart.Id.ToString();

            TempData.Keep();

            return(View("Edit", cartViewModel));
        }
コード例 #14
0
        public IActionResult EditPizza(CartViewModel cartViewModel)
        {
            PizzaBoxRepository repo = new PizzaBoxRepository();

            UserViewModelClient userViewModelClient = repo.InitUser(TempData["username"] as string, TempData["password"] as string);

            cartViewModel.Orders = userViewModelClient.Orders;
            cartViewModel.User   = userViewModelClient.User;
            cartViewModel.Store  = userViewModelClient.Store;

            List <CrustModel>   crusts   = _db.Crust.ToList();
            List <SizeModel>    sizes    = _db.Size.ToList();
            List <ToppingModel> toppings = _db.Topping.ToList();
            List <StoreModel>   stores   = _db.Store.ToList();

            cartViewModel.SpecialtyPizzas = repo.GetSpecialtyPizzas();

            foreach (CrustModel crust in crusts)
            {
                cartViewModel.Crusts.Add(crust.Name);
            }

            foreach (SizeModel size in sizes)
            {
                cartViewModel.Sizes.Add(size.Name);
            }

            foreach (ToppingModel topping in toppings)
            {
                cartViewModel.Toppings.Add(topping.Name);
            }

            foreach (StoreModel store in stores)
            {
                cartViewModel.Stores.Add(store.Name);
            }

            TempData["username"] = cartViewModel.User.Login.Username;
            TempData["password"] = cartViewModel.User.Login.Password;

            OrderModel cart;

            XmlSerializer deserializer = new XmlSerializer(typeof(OrderModel));

            using (TextReader tr = new StringReader(TempData["cart"] as string)){
                cart = (OrderModel)deserializer.Deserialize(tr);
            }

            string[] stringList = cartViewModel.SelectedToppings3.Split(' ');

            //Edit Pizza
            cart.Pizzas[Int32.Parse(cartViewModel.PizzaNumber)].Crust    = repo.FindCrustByName(cartViewModel.Crust);
            cart.Pizzas[Int32.Parse(cartViewModel.PizzaNumber)].Size     = repo.FindSizeByName(cartViewModel.Size);
            cart.Pizzas[Int32.Parse(cartViewModel.PizzaNumber)].Toppings = repo.FindToppingsByNames(stringList);


            /* cart.Pizzas.Add(new PizzaModel() {Name = "Custom",
             *  Crust = repo.FindCrustByName(cartViewModel.Crust),
             *  Size = repo.FindSizeByName(cartViewModel.Size),
             *  Toppings = repo.FindToppingsByNames(stringList)
             *  });
             */
            XmlSerializer serializer = new XmlSerializer(cart.GetType());

            using (StringWriter sw = new StringWriter()){
                serializer.Serialize(sw, cart);
                TempData["cart"] = sw.ToString();
            }

            cartViewModel.Cart = cart;

            TempData.Keep();

            return(View("Edit", cartViewModel));
        }
コード例 #15
0
        public IActionResult RemovePizza(CartViewModel cartViewModel)
        {
            PizzaBoxRepository repo = new PizzaBoxRepository();

            UserViewModelClient userViewModelClient = repo.InitUser(TempData["username"] as string, TempData["password"] as string);

            cartViewModel.Orders = userViewModelClient.Orders;
            cartViewModel.User   = userViewModelClient.User;
            cartViewModel.Store  = userViewModelClient.Store;

            List <CrustModel>   crusts   = _db.Crust.ToList();
            List <SizeModel>    sizes    = _db.Size.ToList();
            List <ToppingModel> toppings = _db.Topping.ToList();
            List <StoreModel>   stores   = _db.Store.ToList();

            cartViewModel.SpecialtyPizzas = repo.GetSpecialtyPizzas();

            foreach (CrustModel crust in crusts)
            {
                cartViewModel.Crusts.Add(crust.Name);
            }

            foreach (SizeModel size in sizes)
            {
                cartViewModel.Sizes.Add(size.Name);
            }

            foreach (ToppingModel topping in toppings)
            {
                cartViewModel.Toppings.Add(topping.Name);
            }

            foreach (StoreModel store in stores)
            {
                cartViewModel.Stores.Add(store.Name);
            }

            TempData["username"] = cartViewModel.User.Login.Username;
            TempData["password"] = cartViewModel.User.Login.Password;

            OrderModel cart;

            XmlSerializer deserializer = new XmlSerializer(typeof(OrderModel));

            using (TextReader tr = new StringReader(TempData["cart"] as string)){
                cart = (OrderModel)deserializer.Deserialize(tr);
            }

            //Remove Pizza
            cart.Pizzas.RemoveAt(Int32.Parse(cartViewModel.PizzaNumber));

            XmlSerializer serializer = new XmlSerializer(cart.GetType());

            using (StringWriter sw = new StringWriter()){
                serializer.Serialize(sw, cart);
                TempData["cart"] = sw.ToString();
            }

            cartViewModel.Cart = cart;

            TempData.Keep();

            return(View("Edit", cartViewModel));
        }
コード例 #16
0
        public IActionResult Edit()
        {
            PizzaBoxRepository repo = new PizzaBoxRepository();

            UserViewModelClient userViewModelClient = repo.InitUser(TempData["username"] as string, TempData["password"] as string);

            CartViewModel userViewModel = new CartViewModel()
            {
                Orders = userViewModelClient.Orders,
                User   = userViewModelClient.User,
                Store  = userViewModelClient.Store,
                //Cart = repo.CreateOrder()
            };

            List <CrustModel>   crusts   = _db.Crust.ToList();
            List <SizeModel>    sizes    = _db.Size.ToList();
            List <ToppingModel> toppings = _db.Topping.ToList();
            List <StoreModel>   stores   = _db.Store.ToList();

            userViewModel.SpecialtyPizzas = repo.GetSpecialtyPizzas();

            foreach (CrustModel crust in crusts)
            {
                userViewModel.Crusts.Add(crust.Name);
            }

            foreach (SizeModel size in sizes)
            {
                userViewModel.Sizes.Add(size.Name);
            }

            foreach (ToppingModel topping in toppings)
            {
                userViewModel.Toppings.Add(topping.Name);
            }

            foreach (StoreModel store in stores)
            {
                userViewModel.Stores.Add(store.Name);
            }

            /* userViewModel.AddToppingToList("Pepperoni");
             * userViewModel.AddToppingToList("Bacon");
             * userViewModel.AddToppingToList("Pineapple");
             *
             * userViewModel.AddSelectedTopping("Pepperoni");
             * userViewModel.AddSelectedTopping("Bacon");
             * userViewModel.AddSelectedTopping("Pineapple"); */

            OrderModel cart = new OrderModel();

            XmlSerializer serializer = new XmlSerializer(cart.GetType());

            using (StringWriter sw = new StringWriter()){
                serializer.Serialize(sw, cart);
                TempData["cart"] = sw.ToString();
            }

            userViewModel.Cart = cart;


            TempData["username"] = userViewModel.User.Login.Username;
            TempData["password"] = userViewModel.User.Login.Password;

            TempData.Keep();



            return(View("Create", userViewModel));
        }
コード例 #17
0
 public PizzaViewModel(PizzaBoxRepository repository)
 {
     _pbr = repository;
 }
コード例 #18
0
 public CustomerController(PizzaBoxRepository context)
 {
     _ctx = context;
 }
コード例 #19
0
        static void Main(string[] args)
        {
            var repo = new PizzaBoxRepository();
            var db   = new PizzaBox.Storing.PizzaBoxDbContext();

            Store        MainStore;
            List <Store> stores = repo.ReadStores();

            int  num;
            bool storeEnd = true;

            do
            {
                int storeCount = 1;
                System.Console.WriteLine("Pick the number for the store you would like to use.");
                foreach (Store s in stores)
                {
                    System.Console.WriteLine($"{storeCount} - {s.Location}");
                    storeCount += 1;
                }

                if (int.TryParse(System.Console.ReadLine(), out num))
                {
                    System.Console.WriteLine();
                    storeEnd = false;
                }
                else
                {
                    System.Console.WriteLine("Invalid Choice");
                    continue;
                }
                if (num > stores.Count)
                {
                    System.Console.WriteLine("Invalid Choice");
                    storeEnd = true;
                }
            } while (storeEnd);

            MainStore = stores[num - 1];

            string choice;

            System.Console.WriteLine("Are you a [Store] or [User]?");
            choice = System.Console.ReadLine();
            System.Console.WriteLine();

            if (choice == "Store")
            {
                bool check = true;
                int  select;
                do
                {
                    System.Console.WriteLine("Pick the number for what you would like to do.");
                    System.Console.WriteLine("1 - Check Orders");
                    System.Console.WriteLine("2 - Check Sales");
                    System.Console.WriteLine("3 - Quit");
                    if (int.TryParse(System.Console.ReadLine(), out select))
                    {
                        System.Console.WriteLine();
                    }
                    else
                    {
                        System.Console.WriteLine("Invalid Choice");
                        continue;
                    }
                    switch (select)
                    {
                    case 1:
                        MainStore.DisplayOrders();
                        break;

                    case 2:
                        MainStore.DisplaySales(new DateTime());
                        break;

                    default:
                        check = false;
                        break;
                    }
                } while (check);
            }
            else
            {
                string email;
                System.Console.WriteLine("Please enter your username");
                email = System.Console.ReadLine();
                System.Console.WriteLine();
                User user = repo.ReadUser(email);

                bool check = true;
                int  select;
                do
                {
                    System.Console.WriteLine("Pick the number for what you would like to do.");
                    System.Console.WriteLine("1 - Check Orders");
                    System.Console.WriteLine("2 - Create");
                    System.Console.WriteLine("3 - Quit");
                    if (int.TryParse(System.Console.ReadLine(), out select))
                    {
                        System.Console.WriteLine();
                    }
                    else
                    {
                        System.Console.WriteLine("Invalid Choice");
                        continue;
                    }
                    switch (select)
                    {
                    case 1:
                        user.DisplayOrders();
                        break;

                    case 2:
                        Order order = new Order();
                        MainStore.ModifyOrder(user, order);
                        repo.CreateOrder(order, user.Id, MainStore.Id);
                        break;

                    // bool orderEnd = true;
                    // int choices;
                    // Order order;
                    // do
                    // {
                    //   System.Console.WriteLine("Pick the number to create or modify an order.");
                    //   System.Console.WriteLine();
                    //   System.Console.WriteLine("0 - New Order");
                    //   System.Console.WriteLine();
                    //   System.Console.WriteLine("---------------------");
                    //   user.DisplayOrders();
                    //   if (int.TryParse(System.Console.ReadLine(), out choices))
                    //   {
                    //     System.Console.WriteLine();
                    //     orderEnd = false;
                    //   }
                    //   else
                    //   {
                    //     System.Console.WriteLine("Invalid Choice");
                    //     System.Console.WriteLine();
                    //     continue;
                    //   }
                    //   if (choices >= user.Orders.Count)
                    //   {
                    //     System.Console.WriteLine("Invalid Choice");
                    //     System.Console.WriteLine();
                    //     orderEnd = true;
                    //   }
                    // } while (orderEnd);
                    // if (choices == 0)
                    // {
                    //   order = new Order();
                    //   MainStore.ModifyOrder(user, order);
                    // }
                    // else
                    // {
                    //   order = user.Orders[choices - 1];
                    //   MainStore.ModifyOrder(user, order, "mod");
                    // }
                    // break;
                    default:
                        check = false;
                        break;
                    }
                } while (check);
                // repo.UpdateUser(user, MainStore.Id, MainStore.Location, DateTime.Now);
            }
        }
コード例 #20
0
 public StoreController(PizzaBoxRepository context)
 {
     _ctx = context;
 }