public ActionResult EditPlus(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Student student = db.Students.Find(id);

            if (student == null)
            {
                return(HttpNotFound());
            }

            StudentEnrollmentVM sevm = new StudentEnrollmentVM();

            sevm.student = student;

            List <Course> courses = db.Courses.ToList();

            foreach (Course c in courses)
            {
                sevm.coursesEnroll.Add(new CoursesEnroll()
                {
                    Id                = c.Id,
                    CourseCode        = c.CourseCode,
                    CourseName        = c.CourseName,
                    Number_of_Credits = c.Number_of_Credits,
                    isEnroll          = student.Courses.Contains(c)
                });
            }

            return(View(sevm));
        }
        public ActionResult EditPlus(StudentEnrollmentVM sevm)
        {
            if (ModelState.IsValid)
            {
                Student s = db.Students.Find(sevm.student.Id);

                db.Entry(s).State = EntityState.Modified;

                foreach (CoursesEnroll ce in sevm.coursesEnroll)
                {
                    if (ce.isEnroll)
                    {
                        s.Courses.Add(db.Courses.Find(ce.Id));
                    }
                    else
                    {
                        s.Courses.Remove(db.Courses.Find(ce.Id));
                    }
                }

                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                return(View(sevm));
            }
        }