public ActionResult CreateCourse() { CoursesCreateVM model = new CoursesCreateVM(); model.Subjects = unitOfWork.SubjectRepository.GetAll(true); return(View("CreateEditCourse", model)); }
public ActionResult EditCourse(int?id) { if (!id.HasValue) { return(RedirectToAction("ManageCourses", "Admin")); } Course course = unitOfWork.CourseRepository.GetById(id.Value); if (course == null) { return(RedirectToAction("ManageCourses", "Admin")); } CoursesCreateVM model = new CoursesCreateVM(); model.Id = course.Id; model.Name = course.Name; model.CourseCode = course.Code; model.Subjects = unitOfWork.SubjectRepository.GetAll(true); return(View("CreateEditCourse", model)); }
public ActionResult CreateEditCourse(CoursesCreateVM model) { if (ModelState.IsValid) { Course course; if (model.Id == 0) { course = new Course(); } else { course = unitOfWork.CourseRepository.GetById(model.Id); } if (unitOfWork.CourseRepository.CheckIfCourseCodeExists(model.CourseCode)) { if (model.CourseCode != course.Code) { model.Subjects = unitOfWork.SubjectRepository.GetAll(true); TempData.FlashMessage("The course code you are trying to create is already in use", null, FlashMessageTypeEnum.Red); return(View(model)); } } int oldCourseCode = course.Code; course.Name = model.Name; model.Subjects = unitOfWork.SubjectRepository.GetAll(); List <Subject> subjects = new List <Subject>(); foreach (var s in model.Subjects) { if ((Request.Form[s.Id.ToString()] != null) && (Request.Form[s.Id.ToString()] == "on")) { subjects.Add(s); } } if (model.Id == 0) { course.Code = model.CourseCode; unitOfWork.CourseRepository.Insert(course); TempData.FlashMessage("Course Created"); } else { if (course.Code != model.CourseCode) { course.Code = model.CourseCode; List <Student> students = new List <Student>(); foreach (var s in unitOfWork.StudentRepository.GetAll(null, false)) { if (s.FacultyNumber.Substring(4, 2) == oldCourseCode.ToString("00")) { students.Add(s); } } GenerateFacultyNumber.ResetFacultyNumbersbyCourseId(course.Id, students); unitOfWork.StudentRepository.Save(); foreach (var s in students) { s.FacultyNumber = GenerateFacultyNumber.Generate(course, unitOfWork); } } course.Code = model.CourseCode; unitOfWork.CourseRepository.Update(course); TempData.FlashMessage("Course Edited"); } unitOfWork.Save(); unitOfWork.CoursesSubjectsRepository.UpdateTable(course, subjects); return(RedirectToAction("ManageCourses", "Admin")); } model.Subjects = unitOfWork.SubjectRepository.GetAll(true); return(View(model)); }