public IActionResult EditProduct(int id = 1) { WinkelViewModel model = new WinkelViewModel(); model.Allergies = _manager.GetAllergies().ToList(); model.Product = _manager.GetProduct(id); model.SelectedAllergies = new List <WinkelItem>(); foreach (Allergie allergie in model.Allergies) { bool selected = false; foreach (ProductAllergie productAllergie in model.Product.ProductAllergies) { if (productAllergie.Allergie.Naam.Equals(allergie.Naam)) { selected = true; } } model.SelectedAllergies.Add(new WinkelItem() { Id = allergie.AllergieId, Name = allergie.Naam, Selected = selected }); } return(View(model)); }
public IActionResult Details(int id = 1) { WinkelViewModel model = new WinkelViewModel(); model.Allergies = _manager.GetAllergies().ToList(); model.Product = _manager.GetProduct(id); model.SelectedAllergies = new List <Models.WinkelItem>(); foreach (Allergie allergie in model.Allergies) { bool selected = false; foreach (ProductAllergie productAllergie in model.Product.ProductAllergies) { if (productAllergie.Allergie.Naam.Equals(allergie.Naam)) { selected = true; } } model.SelectedAllergies.Add(new Models.WinkelItem() { Id = allergie.AllergieId, Name = allergie.Naam, Selected = selected }); } return(RedirectToRoute(new { controller = "Product", action = "Index", id = id })); //return View(model); }
public async Task <ActionResult> EditProduct(int id, WinkelViewModel model) { if (model.ImageFile != null) { using (var memoryStream = new MemoryStream()) { await model.ImageFile.CopyToAsync(memoryStream); // Upload the file if less than 8 MB if (memoryStream.Length < 8388608) { model.Product.ImageData = memoryStream.ToArray(); } else { ModelState.AddModelError("File", "The file is too large."); } } } List <ProductAllergie> productAllergies = new List <ProductAllergie>(); if (ModelState.IsValid) { foreach (WinkelItem item in model.SelectedAllergies) { if (item.Selected) { productAllergies.Add(new ProductAllergie { Product = model.Product, Allergie = _manager.GetAllergie(item.Id) }); } } Product toChange = _manager.GetProduct(id); toChange.ProductAllergies = productAllergies; toChange.Naam = model.Product.Naam; toChange.Beschrijving = model.Product.Beschrijving; if (model.ImageFile != null) { toChange.ImageData = model.Product.ImageData; } model.Product.ProductAllergies = productAllergies; _manager.ChangeProduct(toChange); } return(RedirectToAction("IndexAdmin", "Database")); }
public IActionResult NewProduct() { WinkelViewModel model = new WinkelViewModel(); model.Allergies = _manager.GetAllergies().ToList(); model.Product = new Product(); model.SelectedAllergies = new List <WinkelItem>(); foreach (Allergie allergie in model.Allergies) { model.SelectedAllergies.Add(new WinkelItem() { Id = allergie.AllergieId, Name = allergie.Naam }); } return(View(model)); }