コード例 #1
0
        public async Task <IActionResult> UpdateRole(AddAndEditRoleViewModels role)
        {
            var role1 = Mapper.Map <Role>(role);
            await _roleSever.UpdateRole(role1);

            var roleNames = new List <string>();

            foreach (var key in Request.Form.Keys)
            {
                if (key.Contains("Permission.") && Request.Form[key].Contains("on"))
                {
                    roleNames.Add(key.Substring(11));
                }
            }
            var roleClaims = _roleClaimsSever.GetRoleClaims(new List <int>()
            {
                role1.Id
            });
            await _roleClaimsSever.Removes(roleClaims);

            List <RoleClaims> roleClaims1 = new List <RoleClaims>();

            foreach (var item in roleNames)
            {
                RoleClaims roleClaims2 = new RoleClaims();
                roleClaims2.RoleId     = role1.Id;
                roleClaims2.ClaimType  = "RoleClaims";
                roleClaims2.ClaimValue = item;
                roleClaims1.Add(roleClaims2);
            }
            await _roleClaimsSever.AddRoleClaims(roleClaims1);

            return(Redirect(nameof(ShowRole)));
        }
コード例 #2
0
        public async Task <IActionResult> AddRole(AddAndEditRoleViewModels addRoleViewModels)
        {
            var role = Mapper.Map <Role>(addRoleViewModels);

            role.RoleClaims = new List <RoleClaims>();
            var roleNames = new List <string>();

            foreach (var key in Request.Form.Keys)
            {
                if (key.Contains("Permission.") && Request.Form[key].Contains("on"))
                {
                    roleNames.Add(key.Substring(11));
                }
            }
            List <RoleClaims> roleClaims1 = new List <RoleClaims>();

            foreach (var item in roleNames)
            {
                RoleClaims roleClaims2 = new RoleClaims();
                roleClaims2.ClaimType  = "RoleClaims";
                roleClaims2.ClaimValue = item;
                role.RoleClaims.Add(roleClaims2);
            }
            await _roleSever.AddRole(role);

            return(Redirect(nameof(ShowRole)));
        }
コード例 #3
0
        public async Task <IActionResult> EditRole(int Id)
        {
            var role = await _roleSever.GetRoleByRoleId(Id);

            AddAndEditRoleViewModels addAndEditRoleViewModels = new AddAndEditRoleViewModels();
            var model          = Mapper.Map <AddAndEditRoleViewModels>(role);
            var roleFictitious = RoleFictitious;

            model.RolePermissions = RoleFictitious.ToList();
            //var user=_httpContextAccessor.HttpContext.User;
            var claims = _roleClaimsSever.GetRoleClaims(new List <int>()
            {
                Id
            });

            RecursivelyPermission(model.RolePermissions, claims);
            return(View(model));
        }