zoukankan      html  css  js  c++  java
  • crm操作安全字段

        using System;
        using Microsoft.Xrm.Sdk;
        using Microsoft.Xrm.Sdk.Messages;

        /// <summary>
        /// 安全字段
        /// </summary>
        public class FieldSecurityProfileHelper
        {
            public static readonly string entityName = "fieldsecurityprofile";
            public static readonly string FieldPermission = "FieldPermission";
            public Guid fieldSecurityProfileId = Guid.Empty;
            public Guid fieldPermissionId = Guid.Empty;

            /// <summary>
            /// 创建安全字段
            /// </summary>
            public void Create(IOrganizationService service)
            {
                Entity en = new Entity() { LogicalName = entityName };
                en["name"] = "new_name";
                fieldSecurityProfileId = service.Create(en);
            }

            /// <summary>
            /// 给安全字段加入团队
            /// </summary>
            /// <param name="service">服务</param>
            /// <param name="teamId">团队</param>
            public void AddTeam(IOrganizationService service,Guid teamId)
            {
                AssociateRequest request = new AssociateRequest();
                request.Relationship = new Relationship("teamprofiles_association");
                request.Target = new EntityReference() { LogicalName = entityName,Id = fieldSecurityProfileId };
                request.RelatedEntities = new EntityReferenceCollection();
                request.RelatedEntities.Add(new EntityReference() { LogicalName = "team" ,Id = teamId });
                service.Execute(request);
            }

            /// <summary>
            /// 给安全字段移除团队
            /// </summary>
            /// <param name="service">服务</param>
            /// <param name="teamId">团队</param>
            public void RemoveTeam(IOrganizationService service, Guid teamId)
            {
                DisassociateRequest request = new DisassociateRequest();
                request.Relationship = new Relationship("teamprofiles_association");
                request.Target = new EntityReference() { LogicalName = entityName, Id = fieldSecurityProfileId };
                request.RelatedEntities = new EntityReferenceCollection();
                request.RelatedEntities.Add(new EntityReference() { LogicalName = "team", Id = teamId });
                service.Execute(request);
            }

            /// <summary>
            /// 给安全字段加入用户
            /// </summary>
            /// <param name="service">服务</param>
            /// <param name="teamId">用户</param>
            public void AddUser(IOrganizationService service,Guid userId)
            {
                AssociateRequest request = new AssociateRequest();
                request.Relationship = new Relationship("systemuserprofiles_association");
                request.Target = new EntityReference() { LogicalName = entityName, Id = fieldSecurityProfileId };
                request.RelatedEntities = new EntityReferenceCollection();
                request.RelatedEntities.Add(new EntityReference() { LogicalName = "systemuser", Id = userId });
                service.Execute(request);
            }

            /// <summary>
            /// 给安全字段移除用户
            /// </summary>
            /// <param name="service">服务</param>
            /// <param name="teamId">用户</param>
            public void RemoveUser(IOrganizationService service,Guid userId)
            {
                DisassociateRequest request = new DisassociateRequest();
                request.Relationship = new Relationship("systemuserprofiles_association");
                request.Target = new EntityReference() { LogicalName = entityName, Id = fieldSecurityProfileId };
                request.RelatedEntities = new EntityReferenceCollection();
                request.RelatedEntities.Add(new EntityReference() { LogicalName = "systemuser", Id = userId });
                service.Execute(request);
            }

            /// <summary>
            /// 把安全字段和实体关联
            /// </summary>
            /// <param name="service">服务</param>
            /// <param name="entity">实体</param>
            public void CreateAttribute(IOrganizationService service,string entity)
            {
                Entity en = new Entity() { LogicalName = FieldPermission };
                //实体名称
                en["entityname"] = entity;
                en["canread"] = new OptionSetValue(FieldPermissionType.Allowed);
                en["attributelogicalname"] = "new_attributename";
                en["fieldsecurityprofileid"] = new EntityReference() { LogicalName = entityName,Id = fieldSecurityProfileId };
                fieldSecurityProfileId = service.Create(en);
            }

            /// <summary>
            /// 删除实体里面的安全字段
            /// </summary>
            /// <param name="service">服务</param>
            public void RemoveAttribute(IOrganizationService service)
            {
                service.Delete(FieldPermission, fieldSecurityProfileId);
            }

            /// <summary>
            /// 删除安全字段
            /// </summary>
            public void Delete(IOrganizationService service)
            {
                service.Delete(entityName, fieldSecurityProfileId);
            }
        }

  • 相关阅读:
    SQL Server 2019安装及部署指南
    西门子1200PLC实用定位控制程序案例
    C#进行注册表项和键值操作
    上位机开发必备的一个实体类
    配置Internal Load balancer中VM的外网访问
    从中序后序遍历构造
    网络 | Linux ping任何ip均出现 Destination Host Unreachable 排查思路与方法
    Spring、Spring Framework、Spring Boot、Spring Cloud的区别
    Linux软件安装目录分类讲解
    APP嵌入H5时,软键盘处理(IOS)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3944297.html
Copyright © 2011-2022 走看看