public ActionResult Create(FormCollection formCollection, string[] selectedProducten, Bestellingen bestellingen) { //if (ModelState.IsValid) //{ // db.Bestellingen.Add(bestellingen); // db.SaveChanges(); // return RedirectToAction("Index"); //} //return View(bestellingen); var bestellingToCreate = new Bestellingen(); if (TryUpdateModel(bestellingToCreate, "", null, new string[] { "Producten" })) { try { CreateBestellingsProducten(selectedProducten, bestellingToCreate); bestellingToCreate.UserId = bestellingen.UserId; db.Bestellingen.Add(bestellingToCreate); db.SaveChanges(); return RedirectToAction("Index"); } catch (DataException) { ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } } PopulateBestellingsProducten(bestellingToCreate); ViewBag.UserId = new SelectList(db.UserProfiles, "UserId", "UserName", bestellingen.UserId); return View(bestellingToCreate); }
public ActionResult Create(Bestellingen bestellingen) { if (ModelState.IsValid) { db.Bestellingen.Add(bestellingen); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.UserId = new SelectList(db.UserProfiles, "UserId", "UserName", bestellingen.UserId); return View(bestellingen); }
private void UpdateBestellingsProducten(string[] selectedProducten, Bestellingen bestellingToUpdate) { if (selectedProducten == null) { bestellingToUpdate.Product = new List<Producten>(); return; } var selectedCoursesHS = new HashSet<string>(selectedProducten); var instructorCourses = new HashSet<int> (bestellingToUpdate.Product.Select(c => c.ProductId)); foreach (var product in db.Producten) { if (selectedCoursesHS.Contains(product.ProductId.ToString())) { if (!instructorCourses.Contains(product.ProductId)) { bestellingToUpdate.Product.Add(product); } } else { if (instructorCourses.Contains(product.ProductId)) { bestellingToUpdate.Product.Remove(product); } } } }
private void PopulateBestellingsProducten(Bestellingen bestelling) { var allProducten = db.Producten; var allCategories = db.Categorie; List<string> categorieLijst = new List<string>(); //Zet alle categorieën in een lijst, want je kan maar 1 table per keer lezen. foreach (var categorie in allCategories) { categorieLijst.Add(categorie.CategorieNaam); } var bestellingsProducten = new HashSet<int>(bestelling.Product.Select(c => c.ProductId)); var viewModel = new List<BestellingsProducten>(); foreach (var product in allProducten) { int inttemp = product.CategorieId; string stringtemp = categorieLijst[product.CategorieId-1]; viewModel.Add(new BestellingsProducten { ProductId = product.ProductId, ProductNaam = product.ProductNaam, CategorieNaam = categorieLijst[product.CategorieId-1], //Gebruik de lijst met categorieën Assigned = bestellingsProducten.Contains(product.ProductId) }); } ViewBag.Producten = viewModel; }
private void CreateBestellingsProducten(string[] selectedProducten, Bestellingen bestellingToCreate) { bestellingToCreate.Product = new List<Producten>(); //Beginnen met een lege lijst if (selectedProducten == null) //Niks geselecteerd { return; } var selectedProductenHS = new HashSet<string>(selectedProducten); bestellingToCreate.Datum = DateTime.Now; //Aanmaakdatum foreach (var product in db.Producten) { if (selectedProductenHS.Contains(product.ProductId.ToString())) //Kijk welk product geselecteerd is { bestellingToCreate.Product.Add(product); //Product toevoegen } } }
public ActionResult Edit(int id, FormCollection formCollection, string[] selectedProducten, Bestellingen bestellingen) { //if (ModelState.IsValid) //{ // db.Entry(bestellingen).State = EntityState.Modified; // db.SaveChanges(); // return RedirectToAction("Index"); //} //return View(bestellingen); var bestellingToUpdate = db.Bestellingen .Include(i => i.Product) .Where(i => i.BestellingId == id) .Single(); if (TryUpdateModel(bestellingToUpdate, "", null, new string[] { "Producten" })) { try { UpdateBestellingsProducten(selectedProducten, bestellingToUpdate); bestellingToUpdate.UserId = bestellingen.UserId; db.Entry(bestellingToUpdate).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } catch (DataException) { //Log the error (add a variable name after DataException) ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } } PopulateBestellingsProducten(bestellingToUpdate); ViewBag.UserId = new SelectList(db.UserProfiles, "UserId", "UserName", bestellingen.UserId); return View(bestellingToUpdate); }
public ActionResult Edit(Bestellingen bestellingen) { if (ModelState.IsValid) { db.Entry(bestellingen).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.UserId = new SelectList(db.UserProfiles, "UserId", "UserName", bestellingen.UserId); return View(bestellingen); }