public IActionResult AddDirector() { //maak viewmodel aan DirectorAddDirectorVm directorAddDirectorVm = new DirectorAddDirectorVm(); return(View(directorAddDirectorVm)); }
public async Task <IActionResult> AddDirector (DirectorAddDirectorVm directorAddDirectorVm) { //check modelstate op formulierfouten if (!ModelState.IsValid) { return(View(directorAddDirectorVm)); } //check if director bestaat //eigenlijk overkill in geval van directors met dezelfde naam //Piet Pieters of Jan Janssen, ... if (_movieContext.Directors .Any(d => d.FirstName .Equals(directorAddDirectorVm.FirstName)) && _movieContext.Directors.Any(d => d.LastName .Equals(directorAddDirectorVm.LastName))) { //add custom modelstate error ModelState.AddModelError("", "Director bestaat reeds!"); return(View(directorAddDirectorVm)); } //alles ok, bewaar director met object initiliazer var newdirector = new Director { FirstName = directorAddDirectorVm?.FirstName, LastName = directorAddDirectorVm?.LastName }; //voeg toe aan Dbcontext _movieContext.Directors.Add(newdirector); //stuur naar Database try { await _movieContext.SaveChangesAsync(); } catch (DbUpdateException e) { Console.WriteLine(e.InnerException.Message); ModelState .AddModelError("", "Er heeft zich een onbekende fout voorgedaan!"); return(View(directorAddDirectorVm)); } //opslaan gelukt: stuur terug naar leeg formulier return(RedirectToAction("AddDirector")); }