using System;

    using Microsoft.Xrm.Sdk;

    using Microsoft.Crm.Sdk.Messages;

/// <summary>

    /// 视图

    /// </summary>

    public class UserQueryHelper

    {

        public static readonly string entityName = "userquery";

        public Guid viewid = Guid.Empty;

        public IOrganizationService service;

/// <summary>

        /// 创建视图

        /// </summary>

        public void Create()

        {

            #region fetchXml

            string fetchXml =@"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>

                        <entity name='opportunity'>

                        <order attribute='estimatedvalue' descending='false' />

                        <filter type='and'>

                            <condition attribute='statecode' operator='eq'

                            value='0' />

                        </filter>

                        <attribute name='name' />

                        <attribute name='estimatedvalue' />

                        <attribute name='estimatedclosedate' />

                        <attribute name='customerid' />

                        <attribute name='opportunityratingcode' />

                        <attribute name='closeprobability' />

                        <link-entity alias='opportunitycustomeridcontactcontactid'


                            name='contact' from='contactid' to='customerid'

                            link-type='outer' visible='false'>

                            <attribute name='emailaddress1' />

                        </link-entity>

                        <attribute name='opportunityid' />

                        </entity>

                    </fetch>";

            #endregion

            #region layoutXml

            string layoutXml = @"<grid name='resultset' object='3' jump='name' select='1' preview='1' icon='1'>

                                    <row name='result' id='opportunityid'>

                                    <cell name='name' width='150' />

                                    <cell name='customerid' width='150' />

                                    <cell name='estimatedclosedate' width='150' />


                                    <cell name='estimatedvalue' width='150' />

                                    <cell name='closeprobability' width='150' />

                                    <cell name='opportunityratingcode' width='150' />


                                    <cell name='opportunitycustomeridcontactcontactid.emailaddress1'


                                        width='150' disableSorting='1' />

                                    </row>

                                </grid>";

            #endregion

            Entity en = new Entity() { LogicalName = entityName };

            en["name"] = "自己定义商机视图";

            en["returnedtypecode"] = "opportunity";

            en["querytype"] = 0;

            en["fetchxml"] = fetchXml;

            en["layoutXml"] = layoutXml;

            en["querytype"] = 0;

            viewid = service.Create(en);

        }

/// <summary>

        /// 将用户查询分派给还有一用户或团队

        /// </summary>

        /// <param name="assignee">用户或团队引用</param>

        public void Assign(EntityReference assignee)

        {

            AssignRequest request = new AssignRequest();

            request.Target = new EntityReference() { LogicalName = entityName,Id = viewid };

            request.Assignee = assignee;

            AssignResponse response = (AssignResponse)service.Execute(request);

        }

/// <summary>

        /// 运行由 ID 指定的先前保存的查询

        /// </summary>

        public void ExecuteByIdUserQuery()

        {

            ExecuteByIdUserQueryRequest request = new ExecuteByIdUserQueryRequest();

            request.EntityId = new EntityReference() { LogicalName = entityName,Id = viewid };

            ExecuteByIdUserQueryResponse response = (ExecuteByIdUserQueryResponse)service.Execute(request);

            string result = response.String;

        }

/// <summary>

        /// 删除指定安全主体(用户或团队)对用户查询的全部訪问权限

        /// </summary>

        /// <param name="revokee">用户或团队引用</param>

        public void RevokeAccess(EntityReference revokee)

        {

            RevokeAccessRequest request = new RevokeAccessRequest();

            request.Target = new EntityReference() { LogicalName = entityName, Id = viewid };

            request.Revokee = revokee;

            RevokeAccessResponse response = (RevokeAccessResponse)service.Execute(request);

        }

/// <summary>

        /// 删除视图

        /// </summary>

        public void Delete()

        {

            service.Delete(entityName, viewid);

        }

}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

crm操作观点的更多相关文章

  1. crm操作业务部门

    using System;     using System.Linq;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messag ...

  2. crm操作货币实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messages; /// <summary> ...

  3. crm操作权限

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Xrm.Sdk.Query;     using System.Colle ...

  4. crm操作知识库文章实体

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

  5. crm操作安全角色

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

  6. crm操作产品实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messages; /// <summary> ...

  7. crm操作电子邮件

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

  8. crm操作销售订单实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Xrm.Sdk.Query;     using Microsoft.Cr ...

  9. crm操作约会实体

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

随机推荐

  1. zoj1940(三维广搜)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=940 分析:三维其实就是六个方向地搜索,思维清晰且细心点,很快就AC了 ...

  2. HDU 1226 超级密码 (搜素)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1226 题意简单,本来是一道很简单的搜素题目. 但是有两个bug: 1.M个整数可能有重复的. 2.N可 ...

  3. 创建并使用静态库(ar 命令)

     创建并使用静态库(ar 命令)            archive命令的功能是:创建或改动归档文件或者从归档文件里析取信息.能够简单的理解为一个打包工具,将成员文件依照一定的规则构建到.a文件里, ...

  4. .Net 文本框实现内容提示(仿Google、Baidu)

    原文:.Net 文本框实现内容提示(仿Google.Baidu) 1.Demo下载: 文本框实现内容提示(仿Google.Baidu).rar 2.创建数据库.表(我用的sqlserver2008数据 ...

  5. redis作为mysql的缓存服务器(读写分离) (转)

    一.redis简介Redis是一个key-value存储系统.和Memcached类似,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录 ...

  6. 9个杀手级 JVM 编程语言

    9个杀手级 JVM 编程语言 Java虚拟机已经不再是仅仅局限在 Java 了,很多语言提供了脚本转换,可以让其他的程序在java虚拟机上运行,这样能够让更多的开发者能够依靠JVM在Java平台上大有 ...

  7. SWT的TableVierer的使用三(数据筛选和着色)

    如果我们想根据某一列来过滤记录,如何实现呢?很简单,定义一个过滤器filter.这里只演示定义一个过滤器的情况.现实中你可以定义多个灵活的过滤器,通过替换过滤器来实现各种各样的过滤.一.过滤器代码: ...

  8. 安装dotnet core

    CentOS 7.1下安装dotnet core .NET CORE的官方(http://dotnet.github.io/getting-started/)只提供了Windows, Ubuntu14 ...

  9. 世纪互联、微软Azure与无穷小微积分

              今年9月25日,世纪互联正式开通微软Azure商用服务,有感.          我是世纪互联创业历程的见证人(之中的一个),现在看到世纪互联推出微软Azure公有云的商用服务,心 ...

  10. Linux 安装之U盘引导

    说到装系统最简单的方法无非就是找个系统安装光盘来然后就一步一步慢慢的安装.简单是简单但好似大多数人好像都木有Linux的安装光盘. 因此仅仅能用U盘来模拟光盘的功能来装系统咯. 电脑上装有Window ...