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));
     }
 }
Ejemplo n.º 2
0
        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)));
        }