public IActionResult Question(string answer, int taskId) { var user = _userData.GetUserWithStats(User.GetUserId()); var task = _taskData.GetQuestionTask(taskId); QuestionTaskStatistic currentStat = null; foreach (var stat in user.CourseStatistics) { foreach (var statQuestionTaskStatistic in stat.QuestionTaskStatistics) { if (statQuestionTaskStatistic.TaskId == taskId) { currentStat = statQuestionTaskStatistic; break; } } } if (currentStat != null) { currentStat.IsComplete = true; currentStat.UserAnswer = answer; currentStat.CorrectAnswer = task.CorrectAnswer; if (string.Equals(task.CorrectAnswer, answer, StringComparison.CurrentCultureIgnoreCase)) { currentStat.IsCorrect = true; } _statisticData.UpdateQuestionTaskStatistic(currentStat); return(Ok(new { rezult = currentStat.IsCorrect, isCorrect = currentStat.IsCorrect, answer = currentStat.CorrectAnswer, userVar = currentStat.UserAnswer })); } return(NotFound()); }
public IActionResult CheckCompleteQuestion(int taskId) { var user = _userData.GetUserWithStats(User.GetUserId()); QuestionTaskStatistic currentStat = null; foreach (var stat in user.CourseStatistics) { foreach (var statQuestionTaskStatistic in stat.QuestionTaskStatistics) { if (statQuestionTaskStatistic.TaskId == taskId) { currentStat = statQuestionTaskStatistic; break; } } } if (currentStat != null) { return(Ok(new { isCompleted = currentStat.IsComplete, isCorrect = currentStat.IsCorrect, answer = currentStat.CorrectAnswer, userVar = currentStat.UserAnswer })); } return(NotFound()); }
public void UpdateQuestionTaskStatistic(QuestionTaskStatistic statistic) { _context.QuestionTaskStatistics.Update(statistic); _context.SaveChanges(); }