public IActionResult PizzaDetails(IFormCollection collection, Models.PizzaModel pizzaModel) { int user = Convert.ToInt32(TempData["user"]); TempData["user"] = user; string toppingList = ""; int id = Convert.ToInt32(pizzaModel.PType); if (pizzaModel.Toppingstring != null) { foreach (string s in pizzaModel.Toppingstring) { toppingList += s + ","; } } if (pizzaModel != null) { List <PizzaModel> pizzaModels = new List <PizzaModel>(); List <Domain.Model.Toppings> toppings = new List <Domain.Model.Toppings>(); Domain.Model.Pizza pizza = repository.GetPizza(id); Domain.Model.Pizza pizzaSelected = repository.GetPizzaByAttributes(pizza.PType, pizzaModel.PSize, pizzaModel.Crust, pizza.SLocationId); PizzaModel model = new PizzaModel(); model.PizzaId = pizzaSelected.PizzaId; model.PType = pizza.PType; model.PSize = pizzaModel.PSize; model.Crust = pizzaModel.Crust; model.PPrice = pizza.PPrice; model.SLocationId = pizza.SLocationId; model.Toppingstring = pizzaModel.Toppingstring; model.ToppingList = toppingList; Domain.Model.Toppings topp; foreach (string topping in model.Toppingstring) { topp = repository.GetTopping(topping); toppings.Add(topp); } //List<Domain.Model.Toppings> tops = repository.GetToppings(model.PizzaId); //List<string> topString = Lib.Handler.ToppingsHandler.AddDefaultToChosenToppings(model.Toppingstring, tops); //foreach (string topping in topString) //{ // topp = repository.GetTopping(topping); // toppings.Add(topp); //} double totalOrderCost = Domain.Handler.OrderHandler.GetOrderCost(Convert.ToDouble(pizza.PPrice), toppings); pizzaModels.Add(model); TempData["PizzaId"] = model.PizzaId; TempData["PType"] = model.PType; TempData["PSize"] = model.PSize; TempData["Crust"] = model.Crust; TempData["PPrice"] = model.PPrice; TempData["SLocationId"] = model.SLocationId; TempData["ToppingList"] = toppingList; TempData["TotalCost"] = totalOrderCost; return(View(pizzaModels)); } return(View()); }
public ActionResult UserPreset(Models.PizzaModel pizzamodel) { //create pizza Pizzaboxdomain.Pizza piz = new Pizza(); piz.crust = pizzamodel.PizzaCrust; piz.size = pizzamodel.PizzaSize; piz.quantity = pizzamodel.PizzaQuantity; List <String> templist = new List <string>() { pizzamodel.PizzaTopping1, pizzamodel.PizzaTopping2, pizzamodel.PizzaTopping3, pizzamodel.PizzaTopping4, pizzamodel.PizzaTopping5 }; //remove blank entries from templist templist = templist.Where(s => !string.IsNullOrWhiteSpace(s)).ToList(); piz.toppings = templist; //create pizzastring piz.PizzaString = piz.showPizza(); //find out what number of pizza this order is int pizzacounter = (int)HttpContext.Session.GetInt32("pizzacounter"); //increment pizzacounter by 1 pizzacounter = pizzacounter + 1; //set pizzacounter session variable to new pizzacounter HttpContext.Session.SetInt32("pizzacounter", pizzacounter); //note that we will always have pizzacounter - 1 pizzas //add pizza string to a session; HttpContext.Session.SetString($"pizzastring{pizzacounter}", piz.PizzaString); //find out how many pizzas we got //first i need to recreate all of our pizzaobjects and add them to tempOrder for (int i = 0; i < pizzacounter; i++) { //intialize temppizzastring string temppizzastring = ""; temppizzastring = HttpContext.Session.GetString($"pizzastring{i+1}"); Pizza mypiz = new Pizza(); mypiz = mypiz.recreatePizza(temppizzastring); tempOrder.addPizza(mypiz); } HttpContext.Session.SetInt32("pizzacount", tempOrder.getCount()); ViewData["count"] = HttpContext.Session.GetInt32("pizzacount"); //find out what our cost is at, in string form for some reason i can't explain //get current cost total string currentcoststring = HttpContext.Session.GetString("pizzacost"); //convert current cost to double double currentcostdouble = Convert.ToDouble(currentcoststring); //add current double cost with our new cost double double nextcostdouble = currentcostdouble + tempOrder.gettotalpizzacost(); //save new cost to session HttpContext.Session.SetString("pizzacost", nextcostdouble.ToString()); ViewData["cost"] = HttpContext.Session.GetString("pizzacost"); return(View()); }