zoukankan      html  css  js  c++  java
  • Dynamics CRM的Associate功能

    Dynamics CRM有一种特殊的关联关系叫Associate,一般常见于为用户分配角色、给团队添加用户、团队添加角色、队列添加用户等等。在一些特定场景下我们不可能把所有的操作都通过手动来完成尤其是用户量极大的客户这种手动操作不仅会工作量很大,而且数量一多也容易出错。所以建立一个规则用代码来实现这些操作会比手动操作安全方便的多。

    但是这些操作又不能使用传统的给Guid赋值来完成,因为你会发现他们几个实体之间是不存在关联字段的。这个时候就需要使用Associate来进行关联。

    上代码(以团队添加用户为例):

    //用户赋值3用户
    systemuser = target.Id;
    
    //查找teamid
    teamId = Guid.Parse("9517C5F2-C244-EB11-A827-0017FA038D8E");
    
    adminService.Associate("team", teamId, new Relationship("teammembership_association"), new EntityReferenceCollection() { new EntityReference("systemuser", systemuser) });

    我们需要两个参数一个是用户的Guid另一个是团队的Guid通过上面代码就可以建立Associate关系。当然这个关系也是可以去掉的。下面列出了常用的几种Associate操作

    1、用户添加角色

    adminService.Associate("systemuser",userId,new Relationship("systemuserroles_association"),new EntityReferenceCollection(){new EntityReference("role",roleId)});

    2、移除用户角色

    adminService.Disassociate("systemuser",userId,new Relationship("systemuserroles_association"),new EntityReferenceCollection(){new EntityReference("role",roleId)});

    3、团队添加角色

    adminService.Associate("team",teamId,new Relationship("teamroles_association"),new EntityReferenceCollection(){new EntityReference("role",roleId)});

    4、移除团队角色

    adminService.Disassociate("team",teamId,new Relationship("teamroles_association"),new EntityReferenceCollection(){new EntityReference("role",roleId)});

    5、队列添加用户

    adminService.Associate("queue",queueId,new Relationship("queuemembership_association"),new EntityReferenceCollection(){new EntityReference("systemuser",userid)});

    6、移除队列用户

    adminService.Disassociate("queue",queueId,new Relationship("queuemembership_association"),new EntityReferenceCollection(){new EntityReference("systemuser",userid)});

    7、团队添加用户

    adminService.Associate("team", teamId, new Relationship("teammembership_association"), new EntityReferenceCollection() { new EntityReference("systemuser", systemuser) });

    8、移除团队用户

    adminService.Disassociate("team", teamId, new Relationship("teammembership_association"), new EntityReferenceCollection() { new EntityReference("systemuser", systemuser) });
  • 相关阅读:
    docker创建nginx+php-fpm+mysql环境(一分钟搭建lnmp)
    dcoker搭建wordpress
    docker搭建mysql
    nginx负载均衡精简配置实例
    docker配置阿里云镜像加速
    Centos7 ssh配置RSA证书登录
    Dockerfile centos7_php5.6.36
    Dockerfile cnetos7_nginx1.15.10
    Dockerfile centos7_tomcat7.0.64_jdk7u80
    centos7 安装docker
  • 原文地址:https://www.cnblogs.com/bzpfly/p/14200789.html
Copyright © 2011-2022 走看看