码迷,mamicode.com
首页 > 其他好文 > 详细

crm操作安全角色

时间:2014-07-17 10:42:19      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:crm创建修改删除安全角色   crm给安全角色添加和移除权限   crm给安全角色替换权限   crm查询安全角色的权限   crm   

    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);
        }
    }

crm操作安全角色,布布扣,bubuko.com

crm操作安全角色

标签:crm创建修改删除安全角色   crm给安全角色添加和移除权限   crm给安全角色替换权限   crm查询安全角色的权限   crm   

原文地址:http://blog.csdn.net/y_f123/article/details/37900497

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!