Esempio n. 1
0
 public User InitializeUser(SignUpUI signUpUI) => new User
 {
     Id             = Guid.NewGuid().ToString(),
     Name           = signUpUI.Name,
     LastName       = signUpUI.LastName,
     Email          = signUpUI.Email,
     Password       = signUpUI.Password,
     Age            = signUpUI.Age,
     RegisteredDate = DateTime.UtcNow.ToString("yyyy-MM-dd"),
     Role           = "user",
     Code           = Guid.NewGuid().ToString()
 };
Esempio n. 2
0
        public IActionResult SignUp(SignUpUI signUpUI)
        {
            IActionResult response = BadRequest(new { message = "invalid data" });

            if (signUpUI != null)
            {
                if (authService.EmailIsTaken(signUpUI.Email))
                {
                    response = UnprocessableEntity("email is already taken");
                }
                else
                {
                    User user = userService.InitializeUser(signUpUI);
                    BackgroundJob.Enqueue(() => emailService.SendEmailAsync(user.Email, "Confirm Email", $"http://192.168.0.149:8080/confirm-email/{user.Id}/{user.Code}"));
                    userService.SaveUser(user);
                    response = Ok(new { user = userService.UserToUserUI(user), token = authService.BuildToken(user) });
                }
            }
            return(response);
        }