Exemplo n.º 1
0
        public IActionResult RoleAccess(int?clientId, int?roleId)
        {
            if (clientId == null || roleId == null)
            {
                return(NotFound());
            }
            var role = _roleMager.Roles.Include("RoleClaims").Where(r => r.Id.Equals(roleId)).FirstOrDefault();
            // List<ClientProperty> clientProperties = new List<ClientProperty> ();
            var roleClaims = role.RoleClaims.ToList();
            // List<SelectListItem> accessList=
            var clientApp = _configDbContext.Clients.Include("Properties").Where(c => c.Id.Equals((int)clientId)).FirstOrDefault();

            List <SelectListItem> accessList = clientApp.Properties.Select(p => new SelectListItem {
                Text = p.Key, Value = p.Value, Selected = false
            }).ToList();

            accessList = GetSelectedItems(accessList, roleClaims);
            // if (clientApp.Properties != null) { clientProperties.AddRange (clientApp.Properties); }
            ModuleSelectListViewModel moduleSelectListViewModel = new ModuleSelectListViewModel {
                roleId = (int)roleId, SelectedModules = accessList
            };

            ViewBag.systemName = clientApp.ClientName;
            // ViewBag.moduleList = clientProperties;
            ViewBag.moduleList = moduleSelectListViewModel;
            var claimLis = role.RoleClaims.ToList();

            ViewBag.clientId   = clientId;
            ViewBag.systemName = clientApp.ClientName;
            ViewBag.roleName   = role.Name;
            ViewBag.roleId     = roleId;
            //TODO: Implement Realistic Implementation
            return(View(claimLis));
        }
Exemplo n.º 2
0
        public IActionResult CreateRoleAccess(ModuleSelectListViewModel selectedAccess, int?clientId, int?roleId)
        {
            if (clientId == null || roleId == null)
            {
                return(NotFound());
            }
            // var role = _roleMager.Roles.Include ("RoleClaims").Where (r => r.Id.Equals (roleId)).FirstOrDefault ();
            var role = _appDbContext.Roles.Include("RoleClaims").Where(r => r.Id.Equals(roleId)).FirstOrDefault();

            // var role=_roleMager("RoleClaims").FindByIdAsync(((int)roleId).ToString());
            if (role.RoleClaims != null)
            {
                role.RoleClaims.Clear();
            }
            if (selectedAccess.SelectedModules != null)
            {
                foreach (var item in selectedAccess.SelectedModules)
                {
                    if (item.Selected)
                    {
                        role.RoleClaims.Add(new ApplicationRoleClaim {
                            Name = item.Text, ClaimType = "access", ClaimValue = item.Value
                        });

                        // _roleMager.AddClaimAsync(role,new Claim("access",item.Value ));
                    }
                }

                _appDbContext.Roles.Update(role);
                var result = _appDbContext.SaveChanges();
                // var result=   _roleMager.UpdateAsync (role).Result;
            }
            ViewBag.clientId = clientId;
            ViewBag.roleId   = roleId;
            return(RedirectToAction("RoleAccess", new { clientId = clientId, roleId = roleId }));
        }