コード例 #1
0
        public void Authorize(string roleId, params string[] perIds)
        {
            //a.角色需要重新设置的权限ID集合。
            var listNewPerIds = perIds.ToList();
            //b.角色原有的授权信息。
            var listOldPers = _roleAuthorizeRepository.GetList(roleId);

            //c.删除角色新设置和原有授权信息集合中相同的记录。
            for (int i = listOldPers.Count - 1; i >= 0; i--)
            {
                if (listNewPerIds.Contains(listOldPers[i].ModuleId))
                {
                    listNewPerIds.Remove(listOldPers[i].ModuleId);
                    listOldPers.Remove(listOldPers[i]);
                }
            }
            //d.新集合中剩下的授权信息新增到数据库。
            listNewPerIds.ForEach((perId) =>
            {
                _roleAuthorizeRepository.Insert(new Sys_RoleAuthorize()
                {
                    RoleId     = roleId,
                    ModuleId   = perId,
                    Id         = Guid.NewGuid().ToString(),
                    CreateUser = OperatorProvider.Instance.Current.Account,
                    CreateTime = DateTime.Now
                });
            });
            //e.旧集合中剩下的授权信息从数据库中删除。
            listOldPers.ForEach((perObj) =>
            {
                _roleAuthorizeRepository.Delete(perObj);
            });
        }
コード例 #2
0
 public override int Delete(params Guid[] primaryKeys)
 {
     //删除权限与角色的对应关系。
     _roleAuthorizeRepository.Delete(t => primaryKeys.Contains(t.ModuleId.Value));
     return(_permissionRepository.Delete(primaryKeys));
 }
コード例 #3
0
 public void Delete(RoleAuthorizeEntity entity)
 {
     service.Delete(entity);
 }
コード例 #4
0
 public int Delete(params string[] primaryKeys)
 {
     //删除权限与角色的对应关系。
     _roleAuthorizeRepository.Delete(primaryKeys);
     return(_permissionRepository.Delete(primaryKeys));
 }
コード例 #5
0
ファイル: RoleService.cs プロジェクト: LambertW/elight.mvc
 public override int Delete(Guid[] primaryKeys)
 {
     _roleAuthorizeRepository.Delete(t => primaryKeys.Contains(t.RoleId.Value));
     return(base.Delete(primaryKeys));
 }