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); }
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); }
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)); }