Exemple #1
0
        //
        // GET: /Roles?tc=ulstu
        public ActionResult Index(string tc = "")
        {
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            var model = new SelectionUsersRolesViewModel();
            var roles = new List <IdentityRole>();

            if (tc.Equals("") || tc.Equals("empty"))
            {
                roles = context.Roles.Where(x => !x.Name.Contains("_")).OrderBy(r => r.Name).ToList();//только общие роли admin и manager
            }
            else
            {
                tc    = string.Format("_{0}", tc);
                roles = context.Roles.Where(x => x.Name.Contains(tc)).OrderBy(r => r.Name).ToList();//роли admin_tc, etc.
            }

            foreach (var user in context.Users)
            {
                var userViewModel = new SelectionUserEditorViewModel()
                {
                    Id       = user.Id,
                    UserName = user.UserName
                };
                userViewModel.Roles = roles.Select(
                    role => new SelectionRoleEditorViewModel()
                {
                    Name     = role.Name,
                    Selected = userManager.IsInRole(user.Id, role.Name)
                }).ToList();

                model.Users.Add(userViewModel);
            }
            ViewBag.Roles = roles;
            return(View(model));
        }
Exemple #2
0
 private bool needAddRole(UserManager <ApplicationUser> userManager, SelectionUserEditorViewModel user, SelectionRoleEditorViewModel role)
 {
     return(!userManager.IsInRole(user.Id, role.Name) && role.Selected);
 }