public async Task <IActionResult> ReminderTranslation([FromRoute] int id, [FromBody] ReminderTranslationRequest reminderTranslationRequest) { var loggedUser = User.GetUserIdFromToken(); await _reminderService.ChangeReminderTranslationAsync(loggedUser, reminderTranslationRequest, id); return(Ok()); }
public async Task ChangeReminderTranslationAsync(int loggedUser, ReminderTranslationRequest reminderTranslationRequest, 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 reminder = await _uow.ReminderRepository.GetAll().Where(c => c.Id == id) .FirstOrDefaultAsync(); if (reminder == null) { throw new NotFoundException(ExceptionConstants.NOT_FOUND, "Reminder"); } switch (reminderTranslationRequest.Lang) { case "en": reminder.TitleEN = reminderTranslationRequest.Title; reminder.BodyEN = reminderTranslationRequest.Body; break; case "it": reminder.TitleIT = reminderTranslationRequest.Title; reminder.BodyIT = reminderTranslationRequest.Body; break; default: reminder.Title = reminderTranslationRequest.Title; reminder.Body = reminderTranslationRequest.Body; break; } _uow.ReminderRepository.Update(reminder); await _uow.CommitAsync(); }