예제 #1
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"));
        }
예제 #2
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));
        }
예제 #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 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));
        }
예제 #5
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);
        }
예제 #6
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));
        }
예제 #7
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));
        }
예제 #8
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));
        }
예제 #9
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));
        }
예제 #10
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));
        }
예제 #11
0
        public UserViewModelClient InitUser(string username, string password, int orderid)
        {
            UserViewModelClient User = new UserViewModelClient();

            int loginId = db.Login.FirstOrDefault(u => u.Username.Equals(username) && u.Password.Equals(password)).Id;

            User.User = db.User.FirstOrDefault(u => u.Login.Id == loginId);
            Console.WriteLine("INIT USER: "******"Pizza.Crust").Include("Pizza.Size").ToList();
             *
             * foreach (OrderPizzas orderPizza in orderPizzas2){
             *
             * PizzaModel pizza = orderPizza.Pizza;
             * List<ToppingModel> toppings = new List<ToppingModel>();
             * List<PizzaToppings> pizzaToppings = db.PizzaToppings.Where(pt => pt.PizzaId == pizza.Id).Include("Topping").ToList();
             * Console.WriteLine(pizzaToppings.Count);
             * foreach (PizzaToppings topping in pizzaToppings){
             *
             *  toppings.Add(topping.Topping);
             *
             * }
             *
             * pizza.Toppings = toppings;
             * pizzas2.Add(pizza);
             *
             *
             * }
             * User.Cart.Pizzas = pizzas2;
             * db.SaveChanges(); */


            //Console.WriteLine("INIT USER NUMBER IN CART: " + User.Cart.Pizzas.Count);

            foreach (OrderModel order in User.Orders)
            {
                List <PizzaModel>  pizzas      = new List <PizzaModel>();
                List <OrderPizzas> orderPizzas = db.OrderPizzas.Where(op => op.OrderId == order.Id).Include("Pizza.Crust").Include("Pizza.Size").ToList();
                foreach (OrderPizzas orderPizza in orderPizzas)
                {
                    PizzaModel           pizza         = orderPizza.Pizza;
                    List <ToppingModel>  toppings      = new List <ToppingModel>();
                    List <PizzaToppings> pizzaToppings = db.PizzaToppings.Where(pt => pt.PizzaId == pizza.Id).Include("Topping").ToList();
                    Console.WriteLine(pizzaToppings.Count);
                    foreach (PizzaToppings topping in pizzaToppings)
                    {
                        toppings.Add(topping.Topping);
                    }

                    pizza.Toppings = toppings;
                    pizzas.Add(pizza);
                }
                order.Pizzas = pizzas;
            }

            return(User);
        }
예제 #12
0
        public UserViewModelClient InitUser(string username, string password)
        {
            UserViewModelClient User = new UserViewModelClient();

            int loginId = db.Login.FirstOrDefault(u => u.Username.Equals(username) && u.Password.Equals(password)).Id;

            User.User = db.User.FirstOrDefault(u => u.Login.Id == loginId);
            Console.WriteLine("INIT USER: "******"Store").Include("User").ToList();

            //User.Orders = db.Order.Include(pizzas => db.Pizza.Include(db.Size.Include(db.Crust.Include(db.Topping))));

            /* List<OrderModel> cart = db.Order.Where(o => o.User.Id == User.User.Id && !o.Placed).ToList();
             *
             *
             * if (cart.Count == 0){
             *
             * OrderModel neworder = new OrderModel();
             * PlaceOrder(neworder);
             * User.Cart = neworder;
             *
             * } else {
             *
             * List<PizzaModel> pizzas = new List<PizzaModel>();
             * List<OrderPizzas> orderPizzas = db.OrderPizzas.Where(op => op.OrderId == cart[0].Id).Include("Pizza.Crust").Include("Pizza.Size").ToList();
             * foreach (OrderPizzas orderPizza in orderPizzas){
             *
             *  PizzaModel pizza = orderPizza.Pizza;
             *  List<ToppingModel> toppings = new List<ToppingModel>();
             *  List<PizzaToppings> pizzaToppings = db.PizzaToppings.Where(pt => pt.PizzaId == pizza.Id).Include("Topping").ToList();
             *  Console.WriteLine(pizzaToppings.Count);
             *  foreach (PizzaToppings topping in pizzaToppings){
             *
             *    toppings.Add(topping.Topping);
             *
             *  }
             *
             *  pizza.Toppings = toppings;
             *  pizzas.Add(pizza);
             *
             *
             * }
             *
             * User.Cart = cart[0];
             *
             * User.Cart.Pizzas = pizzas;
             * Console.WriteLine("INIT USER PIZZA COUNT: " + pizzas.Count);
             *
             * } */

            foreach (OrderModel order in User.Orders)
            {
                List <PizzaModel>  pizzas      = new List <PizzaModel>();
                List <OrderPizzas> orderPizzas = db.OrderPizzas.Where(op => op.OrderId == order.Id).Include("Pizza.Crust").Include("Pizza.Size").ToList();
                foreach (OrderPizzas orderPizza in orderPizzas)
                {
                    PizzaModel           pizza         = orderPizza.Pizza;
                    List <ToppingModel>  toppings      = new List <ToppingModel>();
                    List <PizzaToppings> pizzaToppings = db.PizzaToppings.Where(pt => pt.PizzaId == pizza.Id).Include("Topping").ToList();
                    Console.WriteLine(pizzaToppings.Count);
                    foreach (PizzaToppings topping in pizzaToppings)
                    {
                        toppings.Add(topping.Topping);
                    }

                    pizza.Toppings = toppings;
                    pizzas.Add(pizza);
                }
                order.Pizzas = pizzas;
            }

            return(User);
        }