Exemple #1
0
        public IActionResult AddDirector()
        {
            //maak viewmodel aan
            DirectorAddDirectorVm directorAddDirectorVm
                = new DirectorAddDirectorVm();

            return(View(directorAddDirectorVm));
        }
Exemple #2
0
        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"));
        }