using System;

    using Microsoft.Xrm.Sdk;

    using Microsoft.Crm.Sdk.Messages;

    using Microsoft.Xrm.Sdk.Query;

/// <summary>

    /// 约会

    /// </summary>

    public class AppointmentHelper

    {

        public static readonly string entityName = "appointment";

        public Guid appointmentId = Guid.Empty;

        public IOrganizationService service;

/// <summary>

        /// 创建约会

        /// </summary>

        public void Create()

        {

            WhoAmIRequest userRequest = new WhoAmIRequest();

            WhoAmIResponse userResponse = (WhoAmIResponse)service.Execute(userRequest);

            Entity activitypartyEn = new Entity(){ LogicalName = "activityparty" };

            activitypartyEn["partyId"] = new EntityReference(){ LogicalName = "systemuser",Id = userResponse.UserId };

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

            en["subject"] = "约会測试";

            en["scheduledstart"] = DateTime.Now.AddHours(1);

            en["scheduledend"] = DateTime.Now.AddHours(2);

            en["location"] = "办公室";

            en["requiredattendees"] = new Entity[] { activitypartyEn };

            en["organizer"] = new Entity[] { activitypartyEn };

            appointmentId = service.Create(en);

        }

/// <summary>

        /// 向现有约会中加入定期信息,以使其成为定期主约会

        /// </summary>

        /// <param name="target">目标信息</param>

        public void AddRecurrence(Entity target)

        {

            AddRecurrenceRequest request = new AddRecurrenceRequest();

            request.AppointmentId = appointmentId;

            request.Target = target;

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

            Guid id = response.id;

        }

/// <summary>

        /// 将约会分派给其它用户或团队

        /// </summary>

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

        public void Assign(EntityReference assignee)

        {

            AssignRequest request = new AssignRequest();

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

            request.Assignee = assignee;

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

        }

/// <summary>

        /// 安排或预定约会

        /// </summary>

        public void Book()

        {

            BookRequest request = new BookRequest();

            request.Target = new Entity() { LogicalName = entityName,Id = appointmentId };

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

            ValidationResult validationResult = response.ValidationResult;

        }

/// <summary>

        /// 又一次安排约会

        /// </summary>

        public void Reschedule()

        {

            RescheduleRequest request = new RescheduleRequest();

            request.Target = new Entity() { LogicalName = entityName, Id = appointmentId };

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

            ValidationResult validationResult = response.ValidationResult;

        }

/// <summary>

        /// 删除约会

        /// </summary>

        public void Delete()

        {

            service.Delete(entityName, appointmentId);

        }

    }

crm操作约会实体的更多相关文章

  1. crm操作报价单实体

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

  2. crm操作货币实体

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

  3. crm操作产品实体

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

  4. crm操作发票实体

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

  5. Microsoft Dynamics CRM 2011 新建实体 需要注意的细节

    新建一个实体,需要红色框内的是否勾选的意义,可以进一步加深对CRM的理解.如图: 下面对部分的进行了自我的理解,不对的地方,还请大家指出来.互相学习. 1.CRM2011中,在活动方面加强的新特性包括 ...

  6. Hibernate_day02--课程安排_主键生成策略_对实体类crud操作_实体类对象状态

    Hibernate_day02 上节内容 今天内容 实体类编写规则 Hibernate主键生成策略 实体类操作 对实体类crud操作 添加操作 根据id查询 修改操作 删除操作 实体类对象状态(概念) ...

  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.Xrm.Sdk.Query;     using System.Colle ...

随机推荐

  1. 内涵段子爬取及re匹配

    案例:使用正则表达式的爬虫 现在拥有了正则表达式这把神兵利器,我们就可以进行对爬取到的全部网页源代码进行筛选了. 下面我们一起尝试一下爬取内涵段子网站: http://www.neihan8.com/ ...

  2. 【06】前端需要注意哪些SEO

    [06]前端需要注意哪些SEO 01,合理的title,description,keywords. 02,语义化的HTML代码.好处,让搜索引擎更好搜索. 03,重要的HTML内容放前面. 04,重要 ...

  3. 【01】webpack的安装过程截图

    [05](moyu:最好安装在C盘.默认的安装地址.) []全局安装 01,首先要安装Node.js, Node.js 自带了软件包管理器 npm. 02,Webpack 需要 Node.js v0. ...

  4. 【LeetCode】Combination Sum(组合总和)

    这道题是LeetCode里的第39道题. 题目描述: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组 ...

  5. install composer on ubuntu14.04

    1.download composer $ sudo apt-get install curl $ curl -sS https://getcomposer.org/installer | php $ ...

  6. [uiautomator篇] uiautoviewer 定位不到元素

    定位工具: Uiautomatorviewer 在我们的APP中,只有这一个页面,元素无法加载出来,其它的都没有什么问题.   提示的错误:Error while obtaining UI hiera ...

  7. android项目引入第三方库工程出现的问题及解决方案

    一.导入libar库工程 1.使用第三方库工程libary,基本上都是从github上下载,解压后里面有个libary文件夹 2.将libary导入到eclipse中,步骤如下 1)在eclipse包 ...

  8. 【JavaScript 7—基础知识点】:BOM

    一.基础知识 1.1,什么是BOM BOM(browser object model):也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM缺少规范,每个浏览器提供商又按照自己想法去扩展 ...

  9. xtrabackup实现全量备份和增量备份

    mysql增量和完全备份innobackupex2.1.9版本1 yum安装: 官网地址:https://www.percona.com/doc/percona-xtrabackup/LATEST/i ...

  10. 使用Unity做2.5D游戏教程(一)

    最近在研究Unity 3D,看了老外Marin Todorov写的教程很详细,就翻译过来以便自己参考,翻译不好的地方请多包涵. 如果你不了解2.5D游戏是什么,它基本上是个3D游戏而你可以想象是压扁的 ...