예제 #1
0
 private int AutoRateAnswer(UserTaskAttempt attempt)
 {
     if (attempt.UserAnswer != null &&
         attempt.UserAnswer.Trim()
         .Replace(" ", "")
         .ToLowerInvariant()
         .Equals(attempt.ExamTask.Answer.Trim().Replace(" ", "").ToLowerInvariant()))
     {
         return(attempt.ExamTask.TaskTopic.PointsPerTask);
     }
     else
     {
         return(0);
     }
 }
예제 #2
0
 private UserTaskAttempt addExtraInfoForType(UserTaskAttempt attempt, TaskAnswerBindingModel model)
 {
     //add additional params if attempt checking manually
     if (attempt is UserManualCheckingTaskAttempt)
     {
         UserManualCheckingTaskAttempt attemptOfManualCheckingTask = (UserManualCheckingTaskAttempt)attempt;
         attemptOfManualCheckingTask.Comment     = model.comment;
         attemptOfManualCheckingTask.ImagesLinks = model.images?.ToList();
         return(attemptOfManualCheckingTask);
     }
     else
     {
         return(attempt);
     }
 }
예제 #3
0
        public AttemptViewModel(UserTaskAttempt attempt) : base(attempt.ExamTask)
        {
            attempt_id     = attempt.Id;
            right_answer   = attempt.ExamTask.Answer;
            student_id     = attempt.Train.User.Id;
            student_name   = attempt.Train.User.Name;
            student_answer = new StudentAnswer()
            {
                text = attempt.UserAnswer
            };

            var manualTask = attempt as UserManualCheckingTaskAttempt;

            if (manualTask != null)
            {
                student_answer.comment = manualTask.Comment;
                student_answer.images  = manualTask.ImagesLinks;
                is_checked             = manualTask.IsChecked;
            }
        }
예제 #4
0
        private UserTaskAttempt GenerateNewEmptyAttempt(ExamTask task)
        {
            UserTaskAttempt result = null;

            if (task.TaskTopic.IsShort)
            {
                result = new UserSimpleTaskAttempt()
                {
                    ExamTask = task
                };
            }
            else
            {
                result = new UserManualCheckingTaskAttempt()
                {
                    ExamTask = task
                };
            }
            if (result != null)
            {
                //_dbContext.UserTaskAttempts.Add(result);
            }
            return(result);
        }
예제 #5
0
 private bool RatedAnswerIsCorrect(ExamTask task, UserTaskAttempt attempt)
 {
     return(task.TaskTopic.PointsPerTask == attempt.Points);
 }