public async Task <IActionResult> CourseEdit(int id, CourseStudentsVM viewmodel)
        {
            if (id != viewmodel.Enrollments.CourseId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                {
                    IEnumerable <int> liststudents  = viewmodel.SelectedStudents;
                    IEnumerable <int> existstudents = _context.Enrollment.Where(s => liststudents.Contains((int)s.StudentId) && s.CourseId == id).Select(s => (int)s.StudentId);
                    IEnumerable <int> newstudents   = liststudents.Where(s => !existstudents.Contains(s));
                    foreach (int studentId in newstudents)
                    {
                        _context.Enrollment.Add(new Enrollment {
                            StudentId = studentId, CourseId = id, Year = viewmodel.Enrollments.Year, Semester = viewmodel.Enrollments.Semester
                        });
                    }

                    await _context.SaveChangesAsync();
                }
                //catch (DbUpdateConcurrencyException)
                //{
                //    if (!CourseExists(viewmodel.Course.id))
                //    {
                //        return NotFound();
                //    }
                //    else
                //    {
                //        throw;
                //    }
                //}
                return(RedirectToAction(nameof(CourseIndex)));
            }
            //ViewData["FirstTeacherId"] = new SelectList(_context.Teacher, "Id", "FirstName", viewmodel.Course.FirstTeacherId);
            //ViewData["SecondTeacherId"] = new SelectList(_context.Teacher, "Id", "FirstName", viewmodel.Course.SecondTeacherId);
            return(View(viewmodel));
        }
        // GET: Courses/Edit/5
        public async Task <IActionResult> CourseEdit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var course = _context.Course.Where(m => m.id == id).Include(m => m.Students).First();

            if (course == null)
            {
                return(NotFound());
            }
            CourseStudentsVM viewmodel = new CourseStudentsVM
            {
                StudentList      = new MultiSelectList(_context.Student.OrderBy(s => s.FirstName), "Id", "FirstName"),
                SelectedStudents = course.Students.Select(sa => (int)sa.StudentId).ToList()
            };

            ViewData["Idd"]         = id;
            ViewData["CourseTitle"] = _context.Course.Where(c => c.id == id).Select(c => c.Title).FirstOrDefault();
            return(View(viewmodel));
        }