• Dynamics CRM 365 查询客户共享给那些用户的方法


    IOrganizationService adminservice = getorgan();
    
                List<UserMode> systemList = getSystemuser(adminservice);
    
                var accList = GetAccountList(adminservice);
    
                int idex = 0;
                foreach (var en in accList)
                {
                    idex++;
                    EntityReference enf = en.ToEntityReference();
    
                    RetrieveSharedPrincipalsAndAccessRequest shareRequest = new RetrieveSharedPrincipalsAndAccessRequest();
                    shareRequest.Target = enf;
                    RetrieveSharedPrincipalsAndAccessResponse shareResponse = (RetrieveSharedPrincipalsAndAccessResponse)adminservice.Execute(shareRequest);
                    if (shareResponse.PrincipalAccesses != null)
                    {
                        foreach (PrincipalAccess pa in shareResponse.PrincipalAccesses)
                        {
                            var sys = systemList.Find(x => x.id == pa.Principal.Id.ToString());
                            if (sys == null)
                            {
                                continue;
                            }
    
                            string accM = pa.AccessMask.ToString();
    
    
                            list.Text += @"<tr>
                        <td>" + en.GetAttributeValue<string>("name") + @"</td>
                        <td>" + en.GetAttributeValue<EntityReference>("ownerid").Name + @"</td>
                        <td>" + sys.name + @"</td>
                        <td>" + accM + @"</td>
                    </tr>";
                        }
                    }
                }

    前端:

    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <style type="text/css">
            td{
                border:1px solid #ddd;
                padding:4px;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <table style="border-collapse:collapse;">
                    <tr>
                        <td>客户名称</td>
                        <td>负责人</td>
                        <td>共享用户</td>
                        <td>共享权限</td>
                    </tr>
                    <asp:Literal ID="list" runat="server"></asp:Literal>
                </table>
            </div>
        </form>
    </body>
    </html>

    温馨提示,主要代码端在这里,所以有几个函数并没有提供

    etrieveSharedPrincipalsAndAccessRequest shareRequest = new RetrieveSharedPrincipalsAndAccessRequest();
    shareRequest.Target = enf;
    RetrieveSharedPrincipalsAndAccessResponse shareResponse = (RetrieveSharedPrincipalsAndAccessResponse)adminservice.Execute(shareRequest);
  • 相关阅读:
    JAVA合并两个有序的单链表,合并之后的链表依然有序
    excel如何将一个单元格内容拆分成多个单元格?(用到了数据->分列)
    Navicat导入excel的xlsx文件提示无法打开文件
    Request对象实现请求转发
    MessageFormat.format()和String.format()
    使用Servlet动态生成验证码
    Http协议
    使用freemarker导出word
    java注解学习(1)注解的作用和三个常用java内置注解
    SSM_CRUD新手练习(6)分页后台控制器编写
  • 原文地址:https://www.cnblogs.com/parkerchen/p/16384867.html
Copyright © 2020-2023  润新知