public List <Exam> GetStudentExams(int studentId, ExamStatus examStatus) { var requestUrl = $"{url}/student/{studentId}/{examStatus}"; var jsonExams = webClient.DownloadString(requestUrl); var exams = JsonConvert.DeserializeObject <List <Exam> >(jsonExams); return(exams); }
public IActionResult Create([FromBody] ExamStatus examStatus) { if (!ModelState.IsValid) { return(BadRequest()); } _service.Add(examStatus); return(Ok(examStatus)); }
public IActionResult Update([FromBody] ExamStatus examStatus, int id) { if (!ModelState.IsValid) { return(BadRequest()); } examStatus.Id = id; _service.Update(examStatus); return(Ok(examStatus)); }
public static string Enum2String(ExamStatus d) { switch (d) { case ExamStatus.All: return("全部"); case ExamStatus.UnFinishCheck: return("未检查"); case ExamStatus.FinishCheck: return("已检查"); default: return("全部"); } }
private async Task SetExamStatusAsync(int examID, ExamStatus status) { try { var cmd = this.sqlConnection.CreateCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = "update exam set status = @status where exam_id = @exam_id"; cmd.Parameters.Add("@status", MySqlDbType.Int16); cmd.Parameters.Add("@exam_id", MySqlDbType.Int32); cmd.Parameters["@status"].Value = (int)status; cmd.Parameters["@exam_id"].Value = examID; await cmd.ExecuteNonQueryAsync(); } catch (Exception e) { logger.LogError(e.Message); throw new Exception("Action Failed!"); } }
private async Task <List <ExamTime> > GetExamTimeListAsync(ExamStatus status) { try { var cmd = this.sqlConnection.CreateCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = "select exam_id, course_id, title, start_time, duration from exam where status = @status"; cmd.Parameters.Add("@status", MySqlDbType.Int16); cmd.Parameters["@status"].Value = (int)status; using var reader = await cmd.ExecuteReaderAsync(); var resList = new List <ExamTime>(); while (await reader.ReadAsync()) { var examID = Convert.ToInt32(reader["exam_id"]); var title = Convert.ToString(reader["title"]); var courseID = Convert.ToInt32(reader["course_id"]); var startTime = Convert.ToDateTime(reader["start_time"]); var duration = Convert.ToInt32(reader["duration"]); resList.Add(new ExamTime() { ID = examID, Title = title, CourseID = courseID, StartTime = startTime, Duration = duration, Status = status }); } return(resList); } catch (Exception e) { logger.LogError(e.Message); throw new Exception("Action Failed!"); } }
public async Task <ActionResult <IEnumerable <Exam> > > GetStudentExams(int studentId, ExamStatus status) { var student = await _context.Student.FindAsync(studentId); if (student == null) { return(NotFound()); } var exams = await _context.Exam .Include(e => e.ExamQuestions) .ThenInclude(eq => eq.Question) .ThenInclude(q => q.Alternatives) .Include(e => e.ExamQuestions) .ThenInclude(eq => eq.Question) .ThenInclude(q => q.Keywords) .Where(e => e.ClassId == student.ClassId && e.ExamStatus == status) .ToListAsync(); foreach (var exam in exams) { exam.Questions = exam.ExamQuestions.Select(eq => eq.Question).ToList(); foreach (var alt in exam.Questions) { alt.Alternatives.ToList(); } exam.ExamQuestions.Clear(); } return(exams); //var result = await _context.Exam.Include(e => e.ExamQuestions) // .ThenInclude(eq => eq.Question) // .Select() }
public async Task <ActionResult <IEnumerable <Exam> > > GetTakenExams(int classId, ExamStatus status) { var exams = await _context.Exam .Include(e => e.ExamQuestions) .ThenInclude(eq => eq.Question) .ThenInclude(q => q.Alternatives) .Include(e => e.ExamQuestions) .ThenInclude(eq => eq.Question) .ThenInclude(q => q.Keywords) .Where(e => e.ClassId == classId && e.ExamStatus == status) .ToListAsync(); foreach (var exam in exams) { exam.Questions = exam.ExamQuestions.Select(eq => eq.Question).ToList(); foreach (var alt in exam.Questions) { alt.Alternatives.ToList(); } exam.ExamQuestions.Clear(); } return(exams); }