Example #1
0
        public async Task <ActionResult> Register([Bind(Include = "Id,Email,PasswordHash,PasswordConfirm,PhoneNumber,UserName,FirstName,LastName,EmpresaID")] ApplicationUser editUserViewModel)
        {
            if (ModelState.IsValid)
            {
                if (editUserViewModel.PasswordHash.Equals(editUserViewModel.PasswordConfirm))
                {
                    var result = await UserManager.CreateAsync(editUserViewModel, editUserViewModel.PasswordHash);

                    if (result.Succeeded)
                    {
                        IdentityManager   idManager = new IdentityManager();
                        SecurityDbContext Db        = new SecurityDbContext();
                        var group = Db.Groups.Where(gr => gr.Name.Equals(Startup.FinalUserName)).FirstOrDefault();
                        if (group != null)
                        {
                            idManager.AddUserToGroup(editUserViewModel.Id, group.Id);
                        }

                        return(RedirectToAction("UserGroups", "Account", new { id = editUserViewModel.UserName }));
                    }
                    else
                    {
                        ModelState.AddModelError("", String.Join(", ", result.Errors.Select(u => u.ToString())));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "La contraseƱa y su confirmaciĆ³n no son iguales");
                }
            }

            SetViewBagListData(editUserViewModel.EmpresaID);
            return(View(editUserViewModel));
        }
        // Configure the initial Super-Admin user:
        private void AddUsersToGroups()
        {
            Console.WriteLine(String.Join(", ", _db.Users.Select(u => u.Email)));
            ApplicationUser user      = _db.Users.First(u => u.UserName == InitialUserName);
            IDbSet <Group>  allGroups = _db.Groups;

            foreach (Group group in allGroups)
            {
                _idManager.AddUserToGroup(user.Id, group.Id);
            }

            user = _db.Users.FirstOrDefault(u => u.UserName == VaniallaUserName);
            var plainUsers = allGroups.FirstOrDefault(g => g.Name == "Users");

            _idManager.AddUserToGroup(user.Id, plainUsers.Id);
        }
Example #3
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl      = returnUrl ?? Url.Content("~/");
            ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = Input.Email, Email = Input.Email, FirstName = Input.FirstName, LastName = Input.LastName
                };
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");

                    //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                    //code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
                    //var callbackUrl = Url.Page(
                    //    "/Account/ConfirmEmail",
                    //    pageHandler: null,
                    //    values: new { area = "Identity", userId = user.Id, code = code },
                    //    protocol: Request.Scheme);

                    foreach (var item in GroupEditorViewModels)
                    {
                        if (item.Selected)
                        {
                            await _identityManager.AddUserToGroup(user.Id, item.GroupId);
                        }
                    }

                    //await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                    //    $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    if (_userManager.Options.SignIn.RequireConfirmedAccount)
                    {
                        return(RedirectToPage("RegisterConfirmation", new { email = Input.Email }));
                    }
                    else
                    {
                        //await _signInManager.SignInAsync(user, isPersistent: false);
                        //return LocalRedirect(returnUrl);
                        return(RedirectToAction("Index", "Account"));
                    }
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            GroupEditorViewModels = new List <SelectGroupEditorViewModel>();
            foreach (var group in _context.Groups)
            {
                GroupEditorViewModels.Add(new SelectGroupEditorViewModel(group));
            }
            return(Page());
        }
Example #4
0
        public static async Task AddUsersToGroups(ApplicationDbContext context, IdentityManager identityManager)
        {
            var user = await context.Users.FirstAsync(u => u.UserName == _initialUserName);

            var group = await context.Groups.FirstAsync(x => x.Name == "SuperAdmins");

            await identityManager.AddUserToGroup(user.Id, group.Id);
        }
Example #5
0
        private static void AddUsersToGroups()
        {
            ApplicationUser user      = _db.Users.First(u => u.UserName == InitialUserName);
            IDbSet <Group>  allGroups = _db.Groups;

            foreach (Group group in allGroups)
            {
                _idManager.AddUserToGroup(user.Id, group.Id);
            }
        }
Example #6
0
        // Configure the initial Super-Admin user:
        private void AddUsersToGroups()
        {
            Console.WriteLine(String.Join(", ", _db.Users.Select(u => u.Email)));
            ApplicationUser user      = _db.Users.First(u => u.UserName == InitialUserName);
            IDbSet <Group>  allGroups = _db.Groups;

            foreach (Group group in allGroups)
            {
                _idManager.AddUserToGroup(user.Id, group.Id);
            }
        }
Example #7
0
        public ActionResult GroupAddUsers(SelectUsersOutGroupViewModel model)
        {
            if (ModelState.IsValid)
            {
                var idManager = new IdentityManager();


                var groupOutSelectedIds = model.GroupOutSelectedIds();
                foreach (var userId in groupOutSelectedIds)
                {
                    idManager.AddUserToGroup(userId, model.GroupId);
                }

                return(RedirectToAction("index"));
            }
            return(View());
        }
Example #8
0
 public ActionResult UserGroups(SelectUserGroupsViewModel model)
 {
     if (ModelState.IsValid)
     {
         var idManager = new IdentityManager();
         var user      = db.Users.First(u => u.UserName == model.UserName);
         idManager.ClearUserGroups(user.Id);
         foreach (var group in model.Groups)
         {
             if (group.Selected)
             {
                 idManager.AddUserToGroup(user.Id, group.GroupId);
             }
         }
         return(RedirectToAction("index"));
     }
     return(View());
 }