Example #1
0
        public async Task <ActionResult> ManageUsers(NewUserVM model)
        {
            List <UserDT> users = UsersManager.GetUsers();

            if (!ModelState.IsValid)
            {
                ViewBag.Users = users;
                ViewBag.Valid = false;
                return(View(model));
            }

            ApplicationUser user = new ApplicationUser {
                UserName = model.Email, Email = model.Email
            };
            var result = await UserManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                if (!System.Web.Security.Roles.RoleExists(UserRoleHelper.GetString(model.UserLevel)))
                {
                    System.Web.Security.Roles.CreateRole(UserRoleHelper.GetString(model.UserLevel));
                }
                System.Web.Security.Roles.AddUserToRole(user.UserName, UserRoleHelper.GetString(model.UserLevel));

                UserDT newUser = new UserDT();
                newUser.FirstName = model.FirstName;
                newUser.LastName  = model.LastName;
                newUser.Email     = model.Email;
                newUser.Role      = model.UserLevel;
                newUser.AspNetId  = user.Id;

                newUser = UsersManager.CreateUser(newUser);

                users.Add(newUser);
            }

            ViewBag.Users = users;

            return(View(model));
        }