public async Task <ResultResponseDto> SaveEmptyResult(EmptyResultRequestDto request)
        {
            var result = _mapper.Map <Result>(request);
            await _resultRepository.SaveResult(result);

            //Get right answer
            var rightAnswer = _answerRepository.GetRightAnswerByComponentId(request.ComponentId);

            var answerResponse = _mapper.Map <ResultResponseDto>(rightAnswer);

            return(answerResponse);
        }
Пример #2
0
        private bool ReadUserIdFromHeaderForEmptyResult(EmptyResultRequestDto request)
        {
            var token  = Request.Headers[HeaderNames.Authorization];
            var userId = _tokenProvider.GetUserId(token);

            if (!userId.HasValue)
            {
                return(false);
            }

            request.UserId = userId;
            return(true);
        }
Пример #3
0
        public async Task <IActionResult> SkipAnswer(EmptyResultRequestDto request)
        {
            if (request.UserId == null && !ReadUserIdFromHeaderForEmptyResult(request))
            {
                return(null);
            }

            var validationResult = _emptyResultRequestValidator.Validate(request);

            if (validationResult.Errors.Any())
            {
                return(BadRequest(validationResult));
            }

            var result = await _resultProcessor.SaveEmptyResult(request);

            return(Ok(result));
        }