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(); }
public async Task <IActionResult> QuestionTranslation([FromRoute] int id, [FromBody] QuestionTranslationRequest questionTranslationRequest) { var loggedUser = User.GetUserIdFromToken(); await _questionService.ChangeQuestionTranslationAsync(loggedUser, questionTranslationRequest, id); return(Ok()); }