// GET: Rooster/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            RoosterMetDienstProfielenDTO roosterDTO = await _roosterRepository.GetRoosterMetDienstProfielenDto(id.Value);

            if (roosterDTO == null)
            {
                return(NotFound());
            }

            TempData["MinInvoerJaar"] = DateTime.UtcNow.Year;

            return(View(roosterDTO));
        }
        public async Task <RoosterMetDienstProfielenDTO> GetRoosterMetDienstProfielenDto(int?roosterId)
        {
            List <DienstProfiel> dienstProfielen = await _context.DienstProfielen.ToListAsync();

            Rooster rooster = await _context.Roosters
                              .Include(r => r.RoosterDienstProfielen)
                              .Include(r => r.Diensten).ThenInclude(d => d.DienstProfiel)
                              .Where(r => r.RoosterID == roosterId)
                              .SingleOrDefaultAsync();

            RoosterMetDienstProfielenDTO dto = new RoosterMetDienstProfielenDTO(rooster)
            {
                AantalDiensten          = rooster.Diensten.Count(),
                AantalDienstProfielen   = rooster.RoosterDienstProfielen.Count(),
                SelectedDienstProfielen = rooster.RoosterDienstProfielen.Select(rdp => rdp.DienstProfielId).ToList(),
                RoosterDienstProfielen  = rooster.RoosterDienstProfielen,
                DienstProfielOptions    = new SelectList(dienstProfielen, nameof(DienstProfiel.DienstProfielID), nameof(DienstProfiel.Beschrijving))
            };

            return(dto);
        }