public IActionResult Create(Course course) { if (ModelState.IsValid) { courseDB.SaveCourse(course); TempData["successMessage"] = $"Course {course.Name} successfully created!"; return(RedirectToAction(nameof(Display))); } else { return(View("Insert", course)); } }
public async Task <IActionResult> Enroll(int CourseId) { if (CourseId == 0) { TempData["errorMessage"] = "No course was selected. Please try again"; return(RedirectToAction(nameof(List))); } Course course = courseDB.Courses.FirstOrDefault(c => c.CourseId == CourseId); if (course == null) { TempData["errorMessage"] = "Please select a valid course."; return(RedirectToAction(nameof(List))); } Student student = await getLoggedInStudent(); if (student == null) { TempData["errorMessage"] = "No student registered with this account. Please contact customer support."; return(RedirectToAction(nameof(List))); } if (course.Students.Contains(student)) { TempData["errorMessage"] = "You are already enrolled this course."; return(View("Enroll", course)); } else if (course.Students.Count >= course.MaxSize) { TempData["errorMessage"] = "This course is currently full. Please try again when there is space."; return(View("Enroll", course)); } else if (ModelState.IsValid) { CourseStudent csdb = course.AddStudent(student); studentDB.SaveStudent(student); csDB.AddCourseStudents(csdb); courseDB.SaveCourse(course); TempData["successMessage"] = $"Successfully enrolled in {course.Code}: {course.Name}."; return(RedirectToAction(nameof(EnrolledCoursesList))); } return(RedirectToAction(nameof(List))); }