• Role Helper


    using System;
    using Microsoft.Xrm.Sdk;
    using Microsoft.Crm.Sdk.Messages;
    using System.Collections.Generic;
    
    /// <summary>
    /// 安全角色
    /// </summary>
    public class RoleHelper
    {
        public static readonly string entityName = "role";
        public Guid roleId = Guid.Empty;
    
        /// <summary>
        /// 创建安全角色
        /// </summary>
        /// <param name="service">服务</param>
        /// <param name="name">角色名称</param>
        /// <param name="unitId">业务部门</param>
        public void Create(IOrganizationService service, string name, Guid unitId)
        {
            Entity en = new Entity() { LogicalName = entityName };
            en["name"] = name;
            en["businessunitid"] = new EntityReference() { LogicalName = "businessunit", Id = unitId };
            roleId = service.Create(en);
        }
    
        /// <summary>
        /// 修改安全角色
        /// </summary>
        /// <param name="service">服务</param>
        /// <param name="name">角色名称</param>
        /// <param name="unitId">业务部门</param>
        public void Update(IOrganizationService service, string name, Guid unitId)
        {
            Entity en = new Entity() { LogicalName = entityName, Id = roleId };
            en["name"] = name;
            en["businessunitid"] = new EntityReference() { LogicalName = "businessunit", Id = unitId };
            service.Update(en);
        }
    
        /// <summary>
        /// 给安全角色添加权限
        /// </summary>
        /// <param name="service">服务</param>
        /// <param name="businessUnitId">业务部门id</param>
        /// <param name="privilegeId">权限id</param>
        public void AddPrivilegesRole(IOrganizationService service, Guid businessUnitId, Guid privilegeId)
        {
            AddPrivilegesRoleRequest request = new AddPrivilegesRoleRequest();
            request.RoleId = roleId;
            RolePrivilege rp = new RolePrivilege();
            //Basic: 1/4,Local : 1/2,Deep : 3/4,Global: 4/4 组织
            rp.Depth = PrivilegeDepth.Basic;
            //权限
            rp.PrivilegeId = privilegeId;
            //业务部门
            rp.BusinessUnitId = businessUnitId;
            //权限
            request.Privileges = new RolePrivilege[] { rp };
    
            service.Execute(request);
        }
    
        /// <summary>
        /// 给安全角色移除权限
        /// </summary>
        /// <param name="service">服务</param>
        /// <param name="privilergeId">安全角色</param>
        public void RemovePrivilegeRole(IOrganizationService service, Guid privilergeId)
        {
            RemovePrivilegeRoleRequest roleRequest = new RemovePrivilegeRoleRequest();
            roleRequest.RoleId = roleId;
            roleRequest.PrivilegeId = privilergeId;
            service.Execute(roleRequest);
        }
    
        /// <summary>
        /// 安全角色替换权限(删除以前的角色,添加现有的角色)
        /// </summary>
        /// <param name="service">服务</param>
        /// <param name="businessUnitId">业务部门id</param>
        /// <param name="privilegeId">权限id</param>
        public void ReplacePrivilegeRpole(IOrganizationService service, Guid businessUnitId, Guid privilegeId)
        {
            ReplacePrivilegesRoleRequest roleRequest = new ReplacePrivilegesRoleRequest();
            roleRequest.RoleId = roleId;
            RolePrivilege rp = new RolePrivilege();
            //Basic: 1/4,Local : 1/2,Deep : 3/4,Global: 4/4 组织
            rp.Depth = PrivilegeDepth.Basic;
            //权限
            rp.PrivilegeId = privilegeId;
            //业务部门
            rp.BusinessUnitId = businessUnitId;
            //权限
            roleRequest.Privileges = new RolePrivilege[] { rp };
    
            service.Execute(roleRequest);
        }
    
        /// <summary>
        /// 检索分派给指定角色的权限
        /// </summary>
        /// <param name="service">服务</param>
        public void SearchPrivilegeRole(IOrganizationService service)
        {
            RetrieveRolePrivilegesRoleRequest request = new RetrieveRolePrivilegesRoleRequest();
            request.RoleId = roleId;
    
            ReplacePrivilegesRoleResponse response = (ReplacePrivilegesRoleResponse)service.Execute(request);
            if (response != null && response.Results != null)
            {
                ParameterCollection result = response.Results;
            }
        }
    
        /// <summary>         /// 
        /// 删除安全角色         /// 
        /// </summary>         /// 
        /// <param name="service">服务</param>         
        public void Delete(IOrganizationService service) { service.Delete(entityName, roleId); }
    }
  • 相关阅读:
    mysql中文无法显示 小强斋
    EJB>EJB 概念 小强斋
    EJB>EJB 概念 小强斋
    Hibernate>主要接口 小强斋
    EJB>EJB 概念 小强斋
    Hibernate>主要接口 小强斋
    EJB>Session Beans 小强斋
    mysql中文无法显示 小强斋
    如何使用PLSQL Developer从oracle数据库导入导出数据 小强斋
    如何使用PLSQL Developer从oracle数据库导入导出数据 小强斋
  • 原文地址:https://www.cnblogs.com/bennylam/p/9921515.html
Copyright © 2020-2023  润新知