// GET: CursusWinkel/Create
        public IActionResult Create()
        {
            CursusCreateViewModel viewModel = new CursusCreateViewModel();

            viewModel.Cursus              = new Cursus();
            viewModel.CursusBeschrijving  = new CursusBeschrijving();
            viewModel.LessenLijst         = new SelectList(_context.Lessen, "LesID", "Naam");
            viewModel.GeselecteerdeLessen = new List <int>();
            ViewData["DocentID"]          = new SelectList(_context.Docenten, "DocentID", "DocentNaam");
            return(View(viewModel));
        }
        public async Task <IActionResult> Create(CursusCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(viewModel.CursusBeschrijving);
                int saveCheck = await _context.SaveChangesAsync();

                if (saveCheck != 0)
                {
                    viewModel.Cursus.CursusBeschrijvingID = viewModel.CursusBeschrijving.CursusBeschrijvingID;


                    List <CursusInhoud> cursusInhoud = new List <CursusInhoud>();
                    int index = 1;
                    foreach (int lesID in viewModel.GeselecteerdeLessen)
                    {
                        cursusInhoud.Add(new CursusInhoud
                        {
                            LesID            = lesID,
                            CursusID         = viewModel.Cursus.CursusID,
                            LesIntervalWeken = 1,
                            Positie          = index
                        });
                        index++;
                    }
                    _context.Add(viewModel.Cursus);
                    await _context.SaveChangesAsync();

                    Cursus cursus = await _context.Cursussen.Include(o => o.CursusInhoud)
                                    .SingleOrDefaultAsync(x => x.CursusID == viewModel.Cursus.CursusID);

                    cursus.CursusInhoud.AddRange(cursusInhoud);
                    _context.Update(cursus);


                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }
            ViewData["DocentID"] = new SelectList(_context.Docenten, "DocentID", "DocentNaam", viewModel.Cursus.DocentID);
            return(View(viewModel));
        }