コード例 #1
0
        public async Task SaveExecution(string userId, SaveExecutionViewModel viewModel)
        {
            var grade      = GetGrade(viewModel.Answers);
            var statistics = new Statistics()
            {
                ExerciseId    = viewModel.ExerciseId,
                UserId        = userId,
                Grade         = grade,
                ExecutionDate = DateTime.Now
            };

            _statisticsRepository.Add(statistics);
            await _statisticsRepository.SaveChangesAsync();

            foreach (var answer in viewModel.Answers)
            {
                _userAnswersRepository.Add(new UserAnswers()
                {
                    StatisticsId     = statistics.Id,
                    QuestionId       = answer.QuestionId,
                    CorrectAnswers   = string.Join(",", answer.Correct),
                    IncorrectAnswers = string.Join(",", answer.Incorrect)
                });
            }

            await _userAnswersRepository.SaveChangesAsync();
        }
コード例 #2
0
        public async Task <ActionResult> SaveExecution(SaveExecutionViewModel viewModel)
        {
            ApplicationUser applicationUser = await _userManager.GetUserAsync(User);

            await _exerciseService.SaveExecution(applicationUser.Id, viewModel);

            return(Ok());
        }