public async Task <IActionResult> ConceptTranslation([FromRoute] int id, [FromBody] ConceptTranslationRequest concetpTranslationRequest) { var loggedUser = User.GetUserIdFromToken(); await _conceptService.ChangeConceptTranslationAsync(loggedUser, concetpTranslationRequest, id); return(Ok()); }
public async Task ChangeConceptTranslationAsync(int loggedUser, ConceptTranslationRequest concetpTranslationRequest, 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 concept = await _uow.ConceptRepository.GetAll().Where(c => c.Id == id) .FirstOrDefaultAsync(); if (concept == null) { throw new NotFoundException(ExceptionConstants.NOT_FOUND, "Concept"); } switch (concetpTranslationRequest.Lang) { case "en": concept.TitleEN = concetpTranslationRequest.Title; concept.DescriptionEN = concetpTranslationRequest.Description; concept.InstructionsEN = concetpTranslationRequest.Instructions; break; case "it": concept.TitleIT = concetpTranslationRequest.Title; concept.DescriptionIT = concetpTranslationRequest.Description; concept.InstructionsIT = concetpTranslationRequest.Instructions; break; default: concept.Title = concetpTranslationRequest.Title; concept.Description = concetpTranslationRequest.Description; concept.Instructions = concetpTranslationRequest.Instructions; break; } _uow.ConceptRepository.Update(concept); await _uow.CommitAsync(); }