// GET: Courses/Delete/courseId // returns delete view with confirmation of the course being deleted public ActionResult Delete(int?courseId) { if (courseId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var id = (int)courseId; Course course = CourseHelper.GetById(id); if (course == null) { return(HttpNotFound()); } var isSupervisor = SupervisorHelper.IsUserSupervisor(CurrentWebContext.CurrentUser.UserID, id); if (!isSupervisor) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden)); } ViewBag.Title = course.CourseName; var success = course.Delete(); ViewBag.Success = success; return(View()); }
// GET: Courses/Edit/courseId // returns edit view where a teacher can modify the course's data public ActionResult Edit(int?courseId) { if (courseId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } int id = (int)courseId; Course course = CourseHelper.GetById(id); if (course == null) { return(HttpNotFound()); } // check if the user trying to access the course is a supervisor var supervisors = SupervisorHelper.GetSupervisorsForCourse(id); // if he isn't, then return him => denied if (!supervisors.Any(x => x.UserID == CurrentWebContext.CurrentUser.UserID)) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden)); } // create the viewmodel var viewModel = DetailedCourseVM.CreateDetailedCourseVMW(course, supervisors); ViewBag.CountOfPendingStudents = ParticipantHelper.GetCountOfPendingParticipants(id); return(View(viewModel)); }
public static DetailedCourseVM CreateDetailedCourseVMW(Course course) { var vm = new DetailedCourseVM(course) { Supervisors = SupervisorHelper.GetSupervisorsForCourse(course.CourseID), Lectures = LectureHelper.GetLecturesForCourse(course.CourseID), Participants = UserHelper.GetParticipantsForCourse(course.CourseID) }; return(vm); }
// GET: Courses/SeeDetailedOverview/courseId&studentId // returns detailed overviev view for the specified student and targeted course public ActionResult SeeDetailedOverview(int courseId, int studentId) { Course course = CourseHelper.GetById(courseId); User student = UserHelper.GetById(studentId); if (course == null || student == null) { return(HttpNotFound()); } var isSupervisor = SupervisorHelper.IsUserSupervisor(CurrentWebContext.CurrentUser.UserID, courseId); if (!isSupervisor) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden)); } ViewBag.AttendancePerformance = ParticipantHelper.GetParticipantAttendance(student.UserID, course.CourseID); var vm = DetailedOverviewForStudentVM.CreateDetailedOverviewForStudentVM(student, course); return(View(vm)); }
public void DeleteSupervisor(int userId, int courseId) { SupervisorHelper.DeleteSupervisor(userId, courseId); }