public ActionResult Create(int courseId, CourseInstanceCreateEdit newCourseInstance) { newCourseInstance.BaseCourse = db.Course.Where(c => c.ID == courseId).FirstOrDefault(); if (newCourseInstance.Year < 0 || newCourseInstance.BaseCourse == null) { return(View(newCourseInstance)); } List <Person> studentsList = new List <Person>(); for (int i = 0; i < newCourseInstance.Chosen_Students.Count(); i++) { if (newCourseInstance.Chosen_Students[i]) { string id = newCourseInstance.Students[i].Id; Person student = db.Users.Where(p => p.Id == id).FirstOrDefault(); studentsList.Add(student); } } var courseInstance = new CourseInstance { Year = newCourseInstance.Year, AdditionalDescription = newCourseInstance.AdditionalDescription, BaseCourse = newCourseInstance.BaseCourse, Place = newCourseInstance.Place, Report_Date = newCourseInstance.Report_Date, Students = studentsList, }; db.CourseInstance.Add(courseInstance); db.SaveChanges(); return(RedirectToAction("course", "Courses", new { id = courseId })); }
public ActionResult Edit(int courseId, int id, bool cameFromCoursePage, CourseInstanceCreateEdit editedCourseInstance) { if (editedCourseInstance.Year < 0 || editedCourseInstance.BaseCourse == null) { return(View(editedCourseInstance)); } List <Person> studentsList = new List <Person>(); for (int i = 0; i < editedCourseInstance.Chosen_Students.Count(); i++) { if (editedCourseInstance.Chosen_Students[i]) { string studentId = editedCourseInstance.Students[i].Id; Person student = db.Users.Where(p => p.Id == studentId).FirstOrDefault(); studentsList.Add(student); } } var courseInstance = db.CourseInstance.Where(c => c.ID == editedCourseInstance.ID).First(); if (courseInstance == null) { return(HttpNotFound()); } courseInstance.Year = editedCourseInstance.Year; courseInstance.AdditionalDescription = editedCourseInstance.AdditionalDescription; courseInstance.BaseCourse = db.Course.Where(c => c.ID == editedCourseInstance.BaseCourse.ID).First(); courseInstance.Place = editedCourseInstance.Place; courseInstance.Report_Date = editedCourseInstance.Report_Date; courseInstance.Students.Clear(); courseInstance.Students = studentsList; db.SaveChanges(); if (cameFromCoursePage) { return(RedirectToAction("course", "Courses", new { id = courseId })); } else { return(RedirectToAction("CourseInstance", new { id = id })); } }