//答题 public async Task <IActionResult> OnPostAsync(SetStudentAnswerDto setStudentAnswerModel) { if (!TryValidateModel(setStudentAnswerModel)) { return(BadRequest(ModelState)); } var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(setStudentAnswerModel.Answer); var imgs = htmlDoc.DocumentNode.SelectNodes("//img"); if (imgs != null) { foreach (var img in imgs) { img.AddClass("img-fluid d-block mx-auto img-responsive center-block"); img.SetAttributeValue("style", "width:90%"); } setStudentAnswerModel.Answer = htmlDoc.DocumentNode.OuterHtml; } var result = await TaskService.SetStudentAnswerAsync(setStudentAnswerModel); if (!result.Succeeded) { ModelState.AddModelError(string.Empty, result.ErrorMessage); return(BadRequest(ModelState)); } return(Content("OK")); }
/// <summary> /// 学生答题 /// </summary> /// <param name="taskId"></param> /// <param name="taskAnswer"></param> /// <returns></returns> public async Task <Result> SetStudentAnswerAsync(SetStudentAnswerDto model) { Result response = new Result(); do { //学生任务表查找这个任务 var studentTask = await context.StudentTasks.FirstOrDefaultAsync(e => e.TaskId == model.TaskId && e.StudentId == model.StudentId); if (studentTask == null) { response.ErrorMessage = "学生表不存在任务"; break; } if (studentTask.IsTeacherModified) { response.ErrorMessage = "教师已经批改,不能答题了"; break; } //教师表查找这个任务 var teacherTask = await context.TeacherTasks.FirstOrDefaultAsync(e => e.Id == model.TaskId); if (teacherTask == null) { response.ErrorMessage = "教师表不存在任务"; break; } ///超过答题时间了 if (DateTime.Now > teacherTask.TaskEndTime || DateTime.Now < teacherTask.TaskStartTime) { response.ErrorMessage = "不在答题时间内,不能答题"; break; } //已经答过了 不能重复答题 //if (task.DateTime != DateTime.MinValue) //{ // response.ErrorMessage = "已经答过了,不能重复答题"; // break; //} studentTask.StudentAnswer = model.Answer.Trim(); //答案 studentTask.DateTime = DateTime.Now; //答题时间 studentTask.IsAlreadyAnswered = true; //设置已经答题 await context.SaveChangesAsync(); response.Succeeded = true; } while (false); return(response); }
public async Task <IActionResult> OnGetAsync() { if (string.IsNullOrEmpty(TaskId)) { return(BadRequest()); } //根据作业id和学生id获取作业 StudentTaskInfo = await TaskService.GetStudentTasks() .FirstOrDefaultAsync(e => e.TaskId == TaskId && e.StudentId == CurUserId).ConfigureAwait(false); if (StudentTaskInfo == null) { return(NotFound()); } TaskInfo = await TaskService.GetTeacherTaskByIdAsync(TaskId); if (TaskInfo == null) { return(NotFound()); } CourseInfo = await CourseService.GetCourseByIdAsync(TaskInfo.CourseId); if (CourseInfo == null) { return(NotFound()); } //学生答题 setStudentAnswerModel = new SetStudentAnswerDto { TaskId = TaskId, StudentId = CurUserId, Answer = StudentTaskInfo.StudentAnswer }; if (!string.IsNullOrEmpty(TaskInfo.Files)) { Files = Newtonsoft.Json.JsonConvert.DeserializeObject <List <dynamic> >(TaskInfo.Files); } return(Page()); }