Пример #1
0
        public async Task <IActionResult> ReminderTranslation([FromRoute] int id, [FromBody] ReminderTranslationRequest reminderTranslationRequest)
        {
            var loggedUser = User.GetUserIdFromToken();
            await _reminderService.ChangeReminderTranslationAsync(loggedUser, reminderTranslationRequest, id);

            return(Ok());
        }
Пример #2
0
        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();
        }