public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var categorieOnderdelen = await _context.CategorieOnderdelen .Include(c => c.Children) .Include(p => p.Products) .SingleOrDefaultAsync(m => m.OnderdelenCategorieId == id); if (categorieOnderdelen == null) { return(NotFound()); } if ((categorieOnderdelen.Products.Count() != 0) || (categorieOnderdelen.Children.Count() != 0)) { try { TempData["AlertMessage"] = $"De categorie <b>{categorieOnderdelen.OnderdelenCategorienaam}</b> mag niet gewijzigd worden." + $"De categorienaam is reeds gekoppeld aan een (sub)categorie of is een categorie waaronder reeds producten zijn opgeslagen!"; return(RedirectToAction(nameof(Index))); } catch { TempData["AlertMessage"] = $"Systeemfout in categorieënbeheer!"; return(RedirectToAction(nameof(Index))); } } CategorieOnderdelenCreateViewModel vm; if (categorieOnderdelen.ParentId == null) { vm = new CategorieOnderdelenCreateViewModel() { CategorieOnderdeel = categorieOnderdelen, HoofdcategorieOnderdelenlijst = null }; } else { vm = new CategorieOnderdelenCreateViewModel() { CategorieOnderdeel = categorieOnderdelen, HoofdcategorieOnderdelenlijst = hoofdcategorieOnderdelenlijst() }; } //ViewData["ParentId"] = new SelectList(_context.CategorieOnderdelen.Where(hc => hc.ParentId == null), "OnderdelenCategorieId", "OnderdelenCategorienaam", categorieOnderdelen.ParentId); return(View(vm)); }
public async Task <IActionResult> Edit(int id, [Bind("OnderdelenCategorieId,OnderdelenCategorienaam,ParentId,CategorieOnderdeel, HoofdcategorieOnderdelenlijst")] CategorieOnderdelenCreateViewModel editCatOndCreateVm) { if (CategorieNaamOnderdelenMoreExists(id, editCatOndCreateVm.CategorieOnderdeel.OnderdelenCategorienaam)) { ModelState.AddModelError("NaamValidatieError", "Dit is de naam van een bestaande categorie!"); } if (id != editCatOndCreateVm.CategorieOnderdeel.OnderdelenCategorieId) { return(NotFound()); } if (ModelState.IsValid) { try { if (editCatOndCreateVm.CategorieOnderdeel.OnderdelenCategorienaam != null) //zo ja, { //bestaande categorie wijzigen var categorieOnderdeelToUpdate = await _context.CategorieOnderdelen.SingleOrDefaultAsync(m => m.OnderdelenCategorieId == id); if (categorieOnderdeelToUpdate == null) { return(NotFound()); } categorieOnderdeelToUpdate.OnderdelenCategorienaam = editCatOndCreateVm.CategorieOnderdeel.OnderdelenCategorienaam; categorieOnderdeelToUpdate.ParentId = editCatOndCreateVm.CategorieOnderdeel.ParentId; //categorie updaten _context.CategorieOnderdelen.Update(categorieOnderdeelToUpdate); //context wijzigingen doorvoeren naar de Database await _context.SaveChangesAsync(); //actie voor response ondernemen TempData["SuccessMessage"] = $"De categorie <b>{categorieOnderdeelToUpdate.OnderdelenCategorienaam}</b> werd gewijzigd!"; return(RedirectToAction(nameof(Index))); } } catch (DbUpdateConcurrencyException) { if (!CategorieOnderdelenExists(editCatOndCreateVm.CategorieOnderdeel.OnderdelenCategorieId)) { return(NotFound()); } else { ModelState.AddModelError("CategorieOnderdeel.ParentId", $"Input is niet correct!"); throw; } } return(RedirectToAction(nameof(Index))); } //ViewData["ParentId"] = new SelectList(_context.CategorieOnderdelen, "OnderdelenCategorieId", "OnderdelenCategorienaam", categorieOnderdelen.ParentId); return(View(editCatOndCreateVm)); }
public async Task <IActionResult> Create([Bind("OnderdelenCategorieId,OnderdelenCategorienaam,ParentId, CategorieOnderdeel, HoofdcategorieOnderdelenlijst ")] CategorieOnderdelenCreateViewModel inputCatOndCreateVm) { if (CategorieNaamOnderdelenExists(inputCatOndCreateVm.CategorieOnderdeel.OnderdelenCategorienaam)) { ModelState.AddModelError("NaamValidatieError", "Deze categorie is reeds aangemaakt!"); } if (ModelState.IsValid) { // _context.Add(categorieOnderdelen); // await _context.SaveChangesAsync(); // return RedirectToAction(nameof(Index)); //} //ViewData["ParentId"] = new SelectList(_context.CategorieOnderdelen, "OnderdelenCategorieId", "OnderdelenCategorienaam", categorieOnderdelen.ParentId); //return View(categorieOnderdelen); if (inputCatOndCreateVm.CategorieOnderdeel.OnderdelenCategorienaam != null) //zo ja, { //nieuwe categorie maken var categorieOnderdeelToAdd = new CategorieOnderdelen { OnderdelenCategorienaam = inputCatOndCreateVm.CategorieOnderdeel.OnderdelenCategorienaam, ParentId = inputCatOndCreateVm.CategorieOnderdeel.ParentId, }; //categorie tovoegen aan de dbSet (tabel) _context.CategorieOnderdelen.Add(categorieOnderdeelToAdd); //context wijzigingen doorvoeren naar de Database await _context.SaveChangesAsync(); //actie voor response ondernemen TempData["SuccessMessage"] = $"De categorie <b>{categorieOnderdeelToAdd.OnderdelenCategorienaam}</b> werd toegevoegd!"; return(RedirectToAction(nameof(Index))); } } else { //de existing categorie bestaat niet ModelState.AddModelError("CategorieOnderdeel.ParentId", $"Input is niet correct!"); } //model not valid //input model wordt nu het view model, dus moet nog vervolledigd worden inputCatOndCreateVm = new CategorieOnderdelenCreateViewModel() { CategorieOnderdeel = null, HoofdcategorieOnderdelenlijst = hoofdcategorieOnderdelenlijst() }; return(View(inputCatOndCreateVm)); }
public IActionResult Create() { //ViewData["ParentId"] = new SelectList(_context.CategorieOnderdelen, "OnderdelenCategorieId", "OnderdelenCategorienaam"); var vm = new CategorieOnderdelenCreateViewModel() { CategorieOnderdeel = null, HoofdcategorieOnderdelenlijst = hoofdcategorieOnderdelenlijst() }; return(View(vm)); }