public async Task <dynamic> OnAddExamAsync([FromForm] Exam exam, [FromForm] List <Question> questions, [FromForm] string token) { try { var t = await tokenService.GetTokenAsync(token); if (t == null) { throw new Exception("请先登录"); } if (t.Role != UserRole.Admin) { var courseRole = await examService.GetCourseRoleAsync(exam.CourseId, t.UserID); if (courseRole == UserRole.Student) { throw new Exception("权限不足"); } } await examService.AddExamAsync(exam, questions); await eventService.AddExamCreatedEventAsync(exam.ExamId, exam.Title, t.UserID, exam.CourseId); return(new { Res = true }); } catch (Exception e) { return(new { Res = false, Error = e.Message }); } }
public async Task <dynamic> OnGetCourseHomeworkAsync(int courseID, string token) { try { var t = await tokenService.GetTokenAsync(token); if (t == null) { throw new Exception("请先登录"); } var role = t.Role; if (role != UserRole.Admin) { role = await homeworkService.GetCourseRoleAsync(courseID, t.UserID); } if (role == UserRole.Student) { var hwList = await homeworkService.GetCourseHomeworkOverviewAsync(t.UserID, courseID); return(new { Res = true, HWList = hwList }); } else { var hwList = await homeworkService.GetCourseHomeworkOverviewTAsync(courseID); return(new { Res = true, HWList = hwList }); } } catch (Exception e) { return(new { Res = false, Error = e.Message }); } }