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) });
  • 相关阅读:
    ApiController实现自定义身份认证
    类型参数的约束(C# 编程指南)
    C# 交集、并集、差集
    Winform多线程使用委托操作控件
    ShowWindowAsync系统方法cmdShow参数值含义
    xtraTabbedMdiManager控件切换时控件不更新的问题
    ApiController默认使用Json格式
    css单位介绍em ex ch rem vw vh vm cm mm in pt pc px
    JavaScript 函数大全
    css3动画整理
  • 原文地址:https://www.cnblogs.com/bzpfly/p/14200789.html
Copyright © 2011-2022 走看看