Example #1
0
        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);
        }
Example #2
0
        public IActionResult Create([FromBody] ExamStatus examStatus)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            _service.Add(examStatus);
            return(Ok(examStatus));
        }
Example #3
0
        public IActionResult Update([FromBody] ExamStatus examStatus, int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            examStatus.Id = id;
            _service.Update(examStatus);
            return(Ok(examStatus));
        }
Example #4
0
        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!");
            }
        }
Example #7
0
        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()
        }
Example #8
0
        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);
        }