コード例 #1
0
        public IActionResult NewUser()
        {
            var viewModel = new AdminNewUserViewModel();

            viewModel.Roles = GetRolesListItems();
            return(View(viewModel));
        }
コード例 #2
0
        public IActionResult NewUser(AdminNewUserViewModel model)
        {
            if (_dbContext.Users.Any(u => u.Email == model.Email))
            {
                ModelState.AddModelError("Email", "Denna mailadress är redan registrerad.");
            }
            if (ModelState.IsValid)
            {
                var user = new IdentityUser
                {
                    UserName       = model.UserName,
                    Email          = model.Email,
                    EmailConfirmed = true,
                };
                _dbContext.AddAsync(user);
                var roles = GetRoleName(model.SelectedRoleId);
                if (roles != null)
                {
                    var r = _userManager.AddToRolesAsync(user, new[] { roles }).Result;
                }

                _dbContext.SaveChanges();
                return(RedirectToAction("AllUsers"));
            }
            model.Roles = GetRolesListItems();
            return(View(model));
        }
コード例 #3
0
        /// <summary>
        /// Create user, action invoked by passing viewModel with ajax
        /// </summary>
        public ActionResult CreateUser(AdminNewUserViewModel newUser)
        {
            if (newUser.Name == null && newUser.Email == null)
            {
                return(Json(false));
            }

            if (!_userService.UserExistsByUsername(newUser.Email))
            {
                ApplicationUser userToBeCreated = new ApplicationUser {
                    UserName = newUser.Email, Email = newUser.Email, FullName = newUser.Name
                };
                if (_userService.CreateUser(userToBeCreated))
                {
                    if (newUser.Admin)
                    {
                        _userService.AddUserToRoleByUserId(userToBeCreated.Id, "Admin");
                    }

                    return(Json(true));
                }
            }

            return(Json(false));
        }