Esempio n. 1
0
        public async Task <ActionResult> AddUser(RegisterFromAdminViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    FirstName   = model.FirstName,
                    LastName    = model.LastName,
                    Department  = model.Department,
                    ShiftType   = model.ShiftType,
                    PhoneNumber = model.PhoneNumber,
                    UserName    = model.Email,
                    Email       = model.Email
                };

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

                if (result.Succeeded)
                {
                    result = await UserManager.AddToRoleAsync(user.Id, model.RoleName);
                }
            }



            return(RedirectToAction("Index", "Group", new { area = "Admin" }));
        }
        public async Task <IActionResult> CreateUser(RegisterFromAdminViewModel model)
        {
            var requiresConfirmedEmail = (await _SettingsRepository.GetPolicies()).RequiresConfirmedEmail;

            ViewData["AllowRequestEmailConfirmation"] = requiresConfirmedEmail;
            if (!_Options.CheatMode)
            {
                model.IsAdmin = false;
            }
            if (ModelState.IsValid)
            {
                IdentityResult result;
                var            user = new ApplicationUser
                {
                    UserName                  = model.Email,
                    Email                     = model.Email,
                    EmailConfirmed            = model.EmailConfirmed,
                    RequiresEmailConfirmation = requiresConfirmedEmail,
                    Created                   = DateTimeOffset.UtcNow
                };

                if (!string.IsNullOrEmpty(model.Password))
                {
                    result = await _UserManager.CreateAsync(user, model.Password);
                }
                else
                {
                    result = await _UserManager.CreateAsync(user);
                }

                if (result.Succeeded)
                {
                    if (model.IsAdmin && !(await _UserManager.AddToRoleAsync(user, Roles.ServerAdmin)).Succeeded)
                    {
                        model.IsAdmin = false;
                    }

                    var tcs = new TaskCompletionSource <Uri>();

                    _eventAggregator.Publish(new UserRegisteredEvent()
                    {
                        RequestUri           = Request.GetAbsoluteRootUri(),
                        User                 = user,
                        Admin                = model.IsAdmin is true,
                        CallbackUrlGenerated = tcs
                    });
Esempio n. 3
0
        public ActionResult AddUser()
        {
            List <SelectListItem> list = new List <SelectListItem>();

            foreach (var role in RoleManager.Roles)
            {
                list.Add(new SelectListItem()
                {
                    Value = role.Name, Text = role.Name
                });
            }
            //ViewBag.RoleName = list;

            var model = new RegisterFromAdminViewModel()
            {
                Roles = list
            };

            return(View(model));
        }
        public async Task <IActionResult> CreateUser(RegisterFromAdminViewModel model)
        {
            ViewData["AllowIsAdmin"] = _Options.AllowAdminRegistration;
            ViewData["AllowRequestEmailConfirmation"] = _cssThemeManager.Policies.RequiresConfirmedEmail;

            if (ModelState.IsValid)
            {
                IdentityResult result;
                var            user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, EmailConfirmed = model.EmailConfirmed, RequiresEmailConfirmation = _cssThemeManager.Policies.RequiresConfirmedEmail
                };

                if (!string.IsNullOrEmpty(model.Password))
                {
                    result = await _UserManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        TempData[WellKnownTempData.SuccessMessage] = "Account created";
                        return(RedirectToAction(nameof(ListUsers)));
                    }
                }
                else
                {
                    result = await _UserManager.CreateAsync(user);
                }

                if (result.Succeeded)
                {
                    if (model.IsAdmin && !(await _UserManager.AddToRoleAsync(user, Roles.ServerAdmin)).Succeeded)
                    {
                        model.IsAdmin = false;
                    }

                    var tcs = new TaskCompletionSource <Uri>();

                    _eventAggregator.Publish(new UserRegisteredEvent()
                    {
                        RequestUri = Request.GetAbsoluteRootUri(), User = user, Admin = model.IsAdmin is true, CallbackUrlGenerated = tcs
                    });