public static IHtmlString CustomSubmit(this HtmlHelper <PizzaViewModel> htmlHelper, PizzaViewModel vm, string nameValue) { //< div class="form-group"> // <div class="col-md-offset-2 col-md-10"> // <input type = "submit" value="Créer" class="btn btn-default" /> // </div> //</div> var outerDiv = new TagBuilder("div"); outerDiv.AddCssClass("form-group"); var innerDiv = new TagBuilder("div"); outerDiv.AddCssClass("col-md-offset-2 col-md-10"); var input = new TagBuilder("input"); input.AddCssClass("btn btn-default"); input.MergeAttribute("type", "submit"); input.MergeAttribute("value", nameValue); StringBuilder htmlBuilder = new StringBuilder(); htmlBuilder.Append(outerDiv.ToString(TagRenderMode.StartTag)); htmlBuilder.Append(innerDiv.ToString(TagRenderMode.StartTag)); htmlBuilder.Append(input.ToString(TagRenderMode.Normal)); htmlBuilder.Append(innerDiv.ToString(TagRenderMode.EndTag)); htmlBuilder.Append(outerDiv.ToString(TagRenderMode.EndTag)); outerDiv.InnerHtml = htmlBuilder.ToString(); var html = outerDiv.ToString(TagRenderMode.Normal); return(MvcHtmlString.Create(html)); }
private bool ValidateVM(PizzaViewModel vm) { bool result = true; return(result); }
public ActionResult Create(PizzaViewModel vm) { try { // cf prochain tp // ModelState.IsValid : ok système if (ModelState.IsValid && ValidateVM(vm)) { vm.Pates = FakeDb.Instance.PatesDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); vm.Ingredients = FakeDb.Instance.IngredientsDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); Pizza pizza = vm.Pizza; pizza.Pate = FakeDb.Instance.PatesDisponible.SingleOrDefault(x => x.Id == vm.IdPate); pizza.Ingredients = FakeDb.Instance.IngredientsDisponible.Where( x => vm.IdsIngredients.Contains(x.Id)) .ToList(); // pizza requise if (pizza.Pate == null) { ModelState.AddModelError("Pizza.Pate", "Le choix de la pate est requis."); return(View(vm)); } // entre 2 et 5 ingredients //if (pizza.Ingredients.Count() > 5 | pizza.Ingredients.Count() < 2) //{ // ModelState.AddModelError("Pizza.Ingredients", "Choisir entre 2 et 5 ingrédients."); // return View(vm); //} // nom pizza unique //if (FakeDb.Instance.Pizzas.Any(x => x.Nom == pizza.Nom)) //{ // ModelState.AddModelError("Pizza.Nom", "Ce nom de pizza existe déjà."); // return View(vm); //} // liste d'ingrédient unique if (FakeDb.Instance.Pizzas.Any(x => x.Ingredients.SequenceEqual(pizza.Ingredients))) { ModelState.AddModelError("Pizza.Ingredients", "Une pizza possède déjà cette recette."); return(View(vm)); } // cpu pizza.Id = FakeDb.Instance.Pizzas.Count == 0 ? 1 : FakeDb.Instance.Pizzas.Max(x => x.Id) + 1; // variable : ram FakeDb.Instance.Pizzas.Add(pizza); return(RedirectToAction("Index")); } else { // propre : exception, mais exception spécifique. // idem que create vm.Pates = FakeDb.Instance.PatesDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); vm.Ingredients = FakeDb.Instance.IngredientsDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); return(View(vm)); } } catch { // idem que create vm.Pates = FakeDb.Instance.PatesDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); vm.Ingredients = FakeDb.Instance.IngredientsDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); return(View(vm)); } }
public IActionResult CreatePizza() { PizzaViewModel pizzaViewModel = new PizzaViewModel(); return(View(pizzaViewModel)); }
// GET: Pizza/Create public ActionResult Create() { PizzaViewModel vm = new PizzaViewModel(); return(View(vm)); }
public IActionResult Create(PizzaViewModel pizzaViewModel) { return(View()); }
public IActionResult Add(PizzaViewModel pizza) { _pizzaService.Save(pizza); return(StatusCode(StatusCodes.Status201Created, "Your Pizza was added.")); }
public ActionResult Create(PizzaViewModel vm) { try { Pizza pizza = vm.Pizza; if (ModelState.IsValid && ValidateVM(vm)) { var isValidOrnot = true; var nomPizza = FakeDb.Instance.Pizzas.FirstOrDefault(x => x.Nom == vm.Pizza.Nom); if (nomPizza != null) { isValidOrnot = false; //renvoi liste et pate dispo ModelState.AddModelError("Pizza.Nom", "Nom de pizza en double"); } pizza.Pate = FakeDb.Instance.PatesDisponible.FirstOrDefault(x => x.Id == vm.IdPate); if (vm.Pates.Equals("select")) { isValidOrnot = false; //renvoi liste et pate dispo ModelState.AddModelError("IdsIngredients", "veuillez selectionner entre 2 et 5 ingredients"); } pizza.Ingredients = FakeDb.Instance.IngredientsDisponible.Where( x => vm.IdsIngredients.Contains(x.Id)) .ToList(); if (pizza.Ingredients.Count < 2 || pizza.Ingredients.Count > 5) { isValidOrnot = false; vm.Pates = FakeDb.Instance.PatesDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }).ToList(); vm.Ingredients = FakeDb.Instance.IngredientsDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }).ToList(); //renvoi liste et pate dispo ModelState.AddModelError("IdsIngredients", "veuillez selectionner entre 2 et 5 ingredients"); } // Insuffisant //pizza.Id = FakeDb.Instance.Pizzas.Count + 1; if (isValidOrnot) { pizza.Id = FakeDb.Instance.Pizzas.Count == 0 ? 1 : FakeDb.Instance.Pizzas.Max(x => x.Id) + 1; FakeDb.Instance.Pizzas.Add(pizza); return(RedirectToAction("Index")); } else { vm.Pates = FakeDb.Instance.PatesDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); vm.Ingredients = FakeDb.Instance.IngredientsDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); return(View(vm)); } } else { vm.Pates = FakeDb.Instance.PatesDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); vm.Ingredients = FakeDb.Instance.IngredientsDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); return(View(vm)); } } catch { vm.Pates = FakeDb.Instance.PatesDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); vm.Ingredients = FakeDb.Instance.IngredientsDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); return(View(vm)); } }
public async Task <IActionResult> Get() { // All non-completed orders var orders = await _context.Orders .Where(x => x.IsActive) .Select(x => new { x.Id, x.Pizzas, x.Sodas, x.TotalPrice }).ToListAsync(); var viewActiveOrders = new List <ResponseViewModel>(); double totalPrice = 0; foreach (var order in orders) { var viewActiveOrderModel = new ResponseViewModel(); foreach (var pizza in order.Pizzas) { var viewPizza = new PizzaViewModel(); foreach (var ingredient in pizza.PizzaIngredients) { var viewIngredient = new IngredientViewModel(); viewIngredient.Name = ingredient.Name; viewPizza.PizzaIngredients.Add(viewIngredient); } foreach (var extraIngredient in pizza.ExtraIngredients) { var viewExtraIngredient = new ExtraIngredientViewModel(); viewExtraIngredient.MenuNumber = extraIngredient.MenuNumber; viewExtraIngredient.Name = extraIngredient.Name; viewExtraIngredient.Price = extraIngredient.Price; viewPizza.ExtraIngredients.Add(viewExtraIngredient); } viewPizza.PizzaId = pizza.Id; viewPizza.MenuNumber = pizza.MenuNumber; viewPizza.Name = pizza.Name; viewPizza.Price = pizza.Price; totalPrice += pizza.Price; viewActiveOrderModel.Pizzas.Add(viewPizza); } foreach (var soda in order.Sodas) { var viewSoda = new SodaViewModel(); viewSoda.MenuNumber = soda.MenuNumber; viewSoda.Name = soda.Name; viewSoda.Price = soda.Price; totalPrice += soda.Price; viewActiveOrderModel.Sodas.Add(viewSoda); } viewActiveOrderModel.OrderId = order.Id; viewActiveOrderModel.TotalPrice = totalPrice; viewActiveOrders.Add(viewActiveOrderModel); totalPrice = 0; } return(Ok(viewActiveOrders)); }
public PizzaView() { this.InitializeComponent(); Model = new PizzaViewModel(); }
public IActionResult Create() { var pizza = new PizzaViewModel(); return(View(pizza)); }
private PizzaViewModel populatePVM(PizzaViewModel pvm) { pvm.Pates = PateFakeDb.Instance.GetAll(); pvm.Ingredients = IngredientFakeDb.Instance.GetAll(); return(pvm); }
public IActionResult MakeNewPizza(string id, string orderid, PizzaViewModel Pizza) { if (ModelState.IsValid) { User _user; Order _order; decimal Price = 0; _user = Repo.UserRepo.GetFullUserByName(id); if (orderid == null) { _order = new Order(); } else { _order = Repo.OrderRepo.GetOrderById(long.Parse(orderid)); Price = _order.Price; } ViewBag.OrderId = _order.EntityId; ViewBag.Username = _user.Name; APizzaModel _pizza = new APizzaModel(); _pizza.Toppings = new List <Topping>(); _pizza.Crust = Repo.CrustRepo.ReadOneCrust(Pizza.CrustName); _pizza.Size = Repo.SizeRepo.ReadOneSize(Pizza.SizeName); Price += _pizza.Crust.price; Price += _pizza.Size.price; foreach (var topping in Pizza.ToppingsNames) { var _topping = Repo.ToppingRepo.ReadOneTopping(topping); _pizza.Toppings.Add(_topping); // Price+=_topping.price; } _order.Price = Price; _order.Store = _user.ChosenStore; _order.Pizzas.Add(_pizza); _user.Orders.Add(_order); ViewBag.OrderPrice = Price; Repo.Save(); var Order = new OrderViewModel(); if (orderid == null) { Order.Pizzas = _order.Pizzas; } else { var zaList = Repo.OrderRepo.GetOrdersByID(long.Parse(orderid)).Pizzas; var tempOrder = new List <APizzaModel>(); var toppinglist = new List <Topping>(); foreach (var za in zaList) { tempOrder.Add(Repo.OrderRepo.GetPizza(long.Parse(orderid), za.EntityId)); } Order.Pizzas = tempOrder; } return(View("OrderList", Order)); } else { Pizza.DisplayCrusts = Repo.CrustRepo.ReadCrust(); Pizza.DisplaySizes = Repo.SizeRepo.ReadSize(); Pizza.DisplayToppings = Repo.ToppingRepo.ReadToppings(); return(View("AddPizza", Pizza)); } }
public IActionResult PlaceOrder(PizzaViewModel pizzaVM) //model binding { if (ModelState.IsValid) { int cr = 1; int si = 1; List <int> top = new List <int>(); ///convert selections to id's switch (pizzaVM.SelectedCrust) { case "normal": cr = 1; break; case "stuffed": cr = 2; break; case "deepdish": cr = 3; break; default: break; } switch (pizzaVM.SelectedSize) { case "small": si = 1; break; case "medium": si = 2; break; case "large": si = 3; break; default: break; } foreach (var t in pizzaVM.SelectedToppings2) { switch (t) { case "cheese": top.Add(1); break; case "pepperoni": top.Add(2); break; case "peppers": top.Add(3); break; case "ham": top.Add(4); break; case "onions": top.Add(5); break; case "sausage": top.Add(6); break; } } /// //adding pizza and pizzatopping to repo var db = new Repository(); db.CreatePizza(cr, si, "Custom Pizza"); int key = db.GetLasestPizzaId(); foreach (var i in top) { db.CreatePizzaTopping(key, i); } return(Redirect("/pizza/get")); //return Redirect("/user/index"); // http 300-series status } return(View("Order", pizzaVM)); }
public ActionResult Edit(PizzaViewModel vm) { try { vm.Pates = FakeDb.Instance.PatesDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); vm.Ingredients = FakeDb.Instance.IngredientsDisponible.Select( x => new SelectListItem { Text = x.Nom, Value = x.Id.ToString() }) .ToList(); if (ModelState.IsValid) { Pizza pizza = vm.Pizza; pizza.Pate = FakeDb.Instance.PatesDisponible.FirstOrDefault(x => x.Id == vm.IdPate); pizza.Ingredients = FakeDb.Instance.IngredientsDisponible.Where( x => vm.IdsIngredients.Contains(x.Id)) .ToList(); // Insuffisant //pizza.Id = FakeDb.Instance.Pizzas.Count + 1; Pizza checkPizza = FakeDb.Instance.Pizzas.FirstOrDefault(x => x.Nom == vm.Pizza.Nom); int memeIngredients = FakeDb.Instance.Pizzas.Where(x => x.Ingredients.Count() == pizza.Ingredients.Count() && !x.Ingredients.Except(pizza.Ingredients).Any()).ToList().Count(); if (memeIngredients > 0) { ModelState.AddModelError("", "Cette pizza existe déjà"); } else if (checkPizza != null) { ModelState.AddModelError("", "Ce nom est déjà prit"); } else if (pizza.Pate == null) { ModelState.AddModelError("", "Le paramètre Pate est obligatoire"); } else if (pizza.Ingredients.Count() < 2) { ModelState.AddModelError("", "La pizza doit contenir au moins 2 ingrédients"); } else if (pizza.Ingredients.Count() > 5) { ModelState.AddModelError("", "La pizza doit contenir au maximum 5 ingrédients"); } else { pizza.Id = FakeDb.Instance.Pizzas.Count == 0 ? 1 : FakeDb.Instance.Pizzas.Max(x => x.Id) + 1; FakeDb.Instance.Pizzas.Add(pizza); return(RedirectToAction("Index")); } return(View(vm)); } } catch { ModelState.AddModelError("", "Erreur de compile"); } return(View(vm)); }
public PizzaViewModel Post([FromBody] PizzaViewModel pizza) { return(_repository.CreatePizza(pizza)); }