Esempio n. 1
0
        public async Task <IActionResult> Register(RegisterUser10 user)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var createdUser = await _service.Create(user);

                if (string.IsNullOrWhiteSpace(createdUser.Failed))
                {
                    return(Ok(createdUser.Success));
                }
                else
                {
                    throw new Exception(createdUser.Failed);
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Esempio n. 2
0
        public async Task <ResultVM> Create(RegisterUser10 user)
        {
            try
            {
                if (_userManager.FindByNameAsync(user.UserName).Result != null)
                {
                    throw new Exception("The requested username already exists.");
                }

                if (user.Password != user.ComparePassword)
                {
                    throw new Exception("The passwords does not match");
                }


                var result = await _userManager.CreateAsync(user, user.Password);

                if (result.Succeeded)
                {
                    var roleResult = await _userManager.AddToRoleAsync(user, "NormalUser");

                    if (!roleResult.Succeeded)
                    {
                        throw new Exception("Something went wrong.");
                    }

                    return(new ResultVM()
                    {
                        Success = "User was successfully created! \nYou can now sign in."
                    });
                }
                else
                {
                    throw new Exception("The user could not be created.");
                }
            }
            catch (Exception ex)
            {
                return(new ResultVM()
                {
                    Failed = ex.Message
                });
            }
        }