Ejemplo n.º 1
0
        public async Task <IActionResult> Register([FromBody] UserRegistrationInfo userDto,
                                                   CancellationToken cancellationToken)
        {
            try
            {
                var user = userService.CreateUser(userDto);
                await userService.ValidateUserAsync(user);

                await userService.AddUserAsync(user, userDto.Password, cancellationToken);

                var resultUser = new View.UserRegistredInfo
                {
                    Id       = user.Id,
                    Username = user.Login
                };

                MailingService emailService = new MailingService();
                await emailService.SendEmailAsync(userDto.EmailAdress,
                                                  "Успешная регистрация", "Поздравляем, " + user.Login + ", вы зарегистрировались и можете зайти в профиль на https://pr42.ru/login ! \n P.S. Подтверждения почты пока нет, но скоро будет! \n С уважением, администрация pr42.ru");

                Console.WriteLine("Email to {0} was sent", userDto.EmailAdress);
                return(Ok(resultUser));
            }
            catch (AppException ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }