コード例 #1
0
        public async Task ChangeQuestionTranslationAsync(int loggedUser, QuestionTranslationRequest questionTranslationRequest, int id)
        {
            // validate admin user
            var user = await _uow.UserRepository.FindByAsync(u => u.Id == loggedUser && u.Role == RoleEnum.ADMIN);

            if (user.Count == 0)
            {
                throw new NotAllowedException(ExceptionConstants.NOT_ALLOWED);
            }
            var question = await _uow.QuestionRepository.GetAll().Where(c => c.Id == id)
                           .FirstOrDefaultAsync();

            if (question == null)
            {
                throw new NotFoundException(ExceptionConstants.NOT_FOUND, "Question");
            }

            switch (questionTranslationRequest.Lang)
            {
            case "en":
                question.TitleEN = questionTranslationRequest.Title;
                break;

            case "it":
                question.TitleIT = questionTranslationRequest.Title;
                break;

            default:
                question.Title = questionTranslationRequest.Title;
                break;
            }

            _uow.QuestionRepository.Update(question);
            await _uow.CommitAsync();
        }
コード例 #2
0
        public async Task <IActionResult> QuestionTranslation([FromRoute] int id, [FromBody] QuestionTranslationRequest questionTranslationRequest)
        {
            var loggedUser = User.GetUserIdFromToken();
            await _questionService.ChangeQuestionTranslationAsync(loggedUser, questionTranslationRequest, id);

            return(Ok());
        }