• 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) });
  • 相关阅读:
    CROW-5 WEB APP引擎商业计划书(HTML5方向)-微信网页版微信公众平台登录-水仙谷
    PowerShell~语法与运算符
    PowerShell和Bash的介绍
    MongoDB学习笔记~地图坐标的支持与附近点的查找
    Linux~Sh脚本一点自己的总结
    我在百度开放云编程马拉松上的一个创意
    JavaScript字符串插入、删除、替换函数
    社会化登录之豆瓣小结
    C#在64位操作系统上连接Oracle的问题和解决方案
    asp.net(C#)链接Oracle连接字符串
  • 原文地址:https://www.cnblogs.com/bzpfly/p/14200789.html
Copyright © 2020-2023  润新知