Exemple #1
0
        public IActionResult Users()
        {
            List <ApplicationUserListViewModel> vm = new List <ApplicationUserListViewModel>();

            ApplicationUser[] users = _userManager.Users.ToArray();

            for (var i = 0; i < users.Length; i++)
            {
                ApplicationUser u     = users[i];
                var             roles = string.Join(", ", _userManager.GetRolesAsync(u).Result);
                var             user  = new ApplicationUserListViewModel
                {
                    Id       = u.Id,
                    Name     = u.Name,
                    Username = u.UserName,
                    Email    = u.Email,
                    Roles    = string.Join(", ", roles)
                };

                vm.Add(user);
            }

            vm = vm.OrderBy(u => u.Username).ToList();
            return(View("Users", vm));
        }
Exemple #2
0
        public async Task <IActionResult> Create(ApplicationUserListViewModel applicationUser)
        {
            applicationUser.UserName = applicationUser.Email;

            applicationUser.AvailableOrganizations = context.Organizations.Select(r => new SelectListItem
            {
                Text  = r.Name,
                Value = r.Id
            }).ToList();

            applicationUser.AvailableRoles = roleManager.Roles.Select(r => new SelectListItem
            {
                Text  = r.Name,
                Value = r.Name
            }).ToList();

            if (ModelState.IsValid)
            {
                if (await userManager.FindByNameAsync(applicationUser.UserName) == null)
                {
                    var result = await userManager.CreateAsync(applicationUser);

                    if (result.Succeeded)
                    {
                        await userManager.AddPasswordAsync(applicationUser, applicationUser.Password);

                        await userManager.AddToRoleAsync(applicationUser, applicationUser.ApplicationRoleId);
                    }
                    return(RedirectToAction(nameof(Index)));
                }
            }
            return(View(applicationUser));
        }
Exemple #3
0
        public async Task <IActionResult> Deactivate(string id, ApplicationUserListViewModel model)
        {
            var applicationUser = await _userManager.FindByIdAsync(model.Id);

            await _userManager.SetLockoutEndDateAsync(applicationUser, DateTime.Today.AddYears(10));

            await _context.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Exemple #4
0
        // GET: ApplicationRoles/Edit/5
        public async Task <IActionResult> Edit(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ApplicationUser applicationUser = await context.ApplicationUser.FindAsync(id);

            if (applicationUser == null)
            {
                return(NotFound());
            }

            ApplicationUserListViewModel model = new ApplicationUserListViewModel();

            model.UserName       = applicationUser.UserName;
            model.Email          = applicationUser.Email;
            model.FirstName      = applicationUser.FirstName;
            model.LastName       = applicationUser.LastName;
            model.OrganizationId = applicationUser.OrganizationId;

            var    lrole    = context.UserRoles.Where(y => y.UserId == id);
            string roleName = "";

            if (lrole.Count() != 0)
            {
                string roleid = lrole.FirstOrDefault().RoleId;
                if (roleid != "")
                {
                    ApplicationRole role = context.ApplicationRole.Find(roleid);
                    roleName = role.Name;
                }
            }
            model.ApplicationRoleId = roleName;

            model.AvailableOrganizations = context.Organizations.Select(r => new SelectListItem
            {
                Text  = r.Name,
                Value = r.Id
            }).ToList();

            model.AvailableRoles = roleManager.Roles.Select(r => new SelectListItem
            {
                Text  = r.Name,
                Value = r.Name
            }).ToList();


            return(View(model));
        }
Exemple #5
0
        public IActionResult Create()
        {
            ApplicationUserListViewModel model = new ApplicationUserListViewModel();

            model.AvailableOrganizations = context.Organizations.Select(r => new SelectListItem
            {
                Text  = r.Name,
                Value = r.Id
            }).ToList();

            model.AvailableRoles = roleManager.Roles.Select(r => new SelectListItem
            {
                Text  = r.Name,
                Value = r.Name
            }).ToList();

            return(View(model));
        }
Exemple #6
0
        public async Task <IActionResult> Edit(ApplicationUserListViewModel applicationUser)
        {
            applicationUser.AvailableOrganizations = context.Organizations.Select(r => new SelectListItem
            {
                Text  = r.Name,
                Value = r.Id
            }).ToList();

            applicationUser.AvailableRoles = roleManager.Roles.Select(r => new SelectListItem
            {
                Text  = r.Name,
                Value = r.Name
            }).ToList();

            if (ModelState.IsValid)
            {
                ApplicationUser user = await userManager.FindByIdAsync(applicationUser.Id);

                if (user != null)
                {
                    user.FirstName      = applicationUser.FirstName;
                    user.LastName       = applicationUser.LastName;
                    user.OrganizationId = applicationUser.OrganizationId;
                    var            lRole        = userManager.GetRolesAsync(user).Result;
                    string         existingRole = lRole.Count() == 0 ? "":lRole.Single();
                    IdentityResult result       = await userManager.UpdateAsync(user);

                    if (result.Succeeded)
                    {
                        if (existingRole != applicationUser.ApplicationRoleId)
                        {
                            if (existingRole != "")
                            {
                                await userManager.RemoveFromRoleAsync(user, existingRole);
                            }
                            await userManager.AddToRoleAsync(user, applicationUser.ApplicationRoleId);
                        }
                        return(RedirectToAction("Index"));
                    }
                }
            }
            return(View(applicationUser));
        }