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. SOLOWHEEL - 电动独轮车 - SOLOWHEEL俱乐部聚会活动火热报名中

    SOLOWHEEL - 电动独轮车 - SOLOWHEEL俱乐部聚会活动火热报名中 SOLOWHEEL俱乐部聚会活动火热报名中

  2. 文件操作ofstream,open,close,ifstream,fin,依照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件

     1.ofstream,open,close 写入文件 #include<iostream> #include<fstream> using namespace std; ...

  3. php获取分类以下的全部子类方法

    获取分类以下的全部子类方法: static function getMenuTree($arrCat, $parent_id = 0, $level = 0,$all=True) { static $ ...

  4. Codeforces Round #269 (Div. 2) A B C

    先说C 题目链接:http://codeforces.com/problemset/problem/471/C 题目意思:有 n 张卡,问能做成多少种不同楼层(floor)的 house.注意这 n ...

  5. TopCoder中插件的用法

    今天弄了一下TopCoder的插件,发现真的很好很强大,插件的下载地址为 : http://community.topcoder.com/tc?module=Static&d1=applet& ...

  6. Nlog配置文件

    <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nl ...

  7. poj 2299 树状数组求逆序数+离散化

    http://poj.org/problem?id=2299 最初做离散化的时候没太确定可是写完发现对的---由于后缀数组学的时候,,这样的思维习惯了吧 1.初始化as[i]=i:对as数组依照num ...

  8. V5

    系统设置--关于手机--版本号点5下--进去开发模式--打开开发选项--打开USB调试.然后在连接第三方助手软件 http://bbs.ztehn.com/thread-19037-1-1.html

  9. Windows phone 8 学习笔记(8) 定位地图导航

    原文:Windows phone 8 学习笔记(8) 定位地图导航 Windows phone 8 已经不使用自家的bing地图,新地图控件可以指定制图模式.视图等.bing地图的定位误差比较大,在模 ...

  10. 和学生探讨吉林大学python问题

    学生们真的很强大,我知道玩微信,nodejs.... 我们去学校了解.当时互联网开始64K....