예제 #1
0
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            // throw new NotImplementedException();

            try
            {
                // Create User Account
                var user = await _accountsService.CreateUserAsync(model);

                // Sign User in
                await _signInManager.SignInAsync(user, isPersistent : false);

                // Send user to homepage after creating account
                return(LocalRedirect("~/"));
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
                return(View());
            }
        }
예제 #2
0
        public async Task <IActionResult> CreateNewUserAsync([FromBody] UserCreate newUser, CancellationToken ct)
        {
            if (!_accountsService.CanExecuteAdminRequest(User))
            {
                return(Unauthorized());
            }

            if (string.IsNullOrEmpty(newUser?.UserName))
            {
                return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.NameFieldRequired)));
            }
            if (string.IsNullOrEmpty(newUser.Email))
            {
                return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.EmailFieldRequired)));
            }
            if (string.IsNullOrEmpty(newUser.Password))
            {
                return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.PasswordFieldRequired)));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(new ApiError(ModelState)));
            }

            var result = await _accountsService.CreateUserAsync(newUser);

            if (result.Succeeded)
            {
                return(Created(Url.Link(nameof(VerifyLoginStatus), null), null));
            }

            return(BadRequest(result.Errors));
        }
        /// <summary>
        ///		Add user to the system
        /// </summary>
        /// <param name="accountsService"></param>
        /// <param name="newUser"></param>
        /// <param name="role"></param>
        /// <returns></returns>
        private static async Task AddUser(IAccountsService accountsService, UserCreate newUser, string role)
        {
            var createResult = await accountsService.CreateUserAsync(newUser);

            var createdUser   = accountsService.GetUserByUserName(newUser.UserName);
            var addRoleResult = await accountsService.AddUserToRoleAsync(createdUser, role);
        }
예제 #4
0
        public async Task<IActionResult> Register(RegisterModel model)           
        {
            if(!ModelState.IsValid) return View();

            try{
               var user = await _accountsService.CreateUserAsync(model);
                await _signInManager.SignInAsync(user, isPersistent: false);
                return LocalRedirect("~/");
            }
            catch(Exception e)
            {
                ModelState.AddModelError("", e.Message);
                return View();
            }
        }
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            try
            {
                var user = await _accountsService.CreateUserAsync(model);

                //this below code allows the user to be logged in automatically after registration
                await _signInManager.SignInAsync(user, isPersistent : false);

                //the below returns user to our homepage after registered and logged in automaticallyss
                return(LocalRedirect("~/"));
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
                return(View());
            }
        }