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. 经典DP问题--poj1088滑雪

    Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...

  2. React中css的使用

    网页的布局.颜色.形状等UI展示方式主要是由Css进行设置,在ReactJs中也是一样.ReactJs中的Css结构方式与传统的Web网页类似,但依然存在一些差异.ReactJs中Css文件本身的编写 ...

  3. gg mirror

    https://gufen.ga/ (无广告,原guso.ml,ggso.ga,guge.ga) https://a.aiguso.tk (无广告,体验良好) https://a.freedo.gq/ ...

  4. mac下secureCRT 客户端 $redis-cli回车后没有反应的解决办法

    启动redis server后,SecureCRT进入redis-cli,输入不断在后面追加IP:Port显示设置当前的Session Options-->Terminal-->Emula ...

  5. 深入浅出Oracle:DBA入门、进阶与诊断案例(读书笔记2)

    第5章  Buffer Cache与Shared Pool原理 5.1 Buffer Cache原理 Buffer Cache是Oracle SGA中的一个重要部分,通常的数据访问和修改都需要通过Bu ...

  6. Android开发调试无法连接到夜神模拟器的解决方法

    Android开发调试无法连接到夜神模拟器的解决方法: 一般原因是adb的版本不一致造成的!!!!!换成一样的就可以了. 在网上看到的方法,特记录下来: 1.任务管理器里看下,adb.exe以及nox ...

  7. [android开发篇] 权限

    Android 应用采用 Java 编程语言编写.Android SDK 工具将您的代码 — 连同任何数据和资源文件 — 编译到一个 APK:Android 软件包,即带有 .apk 后缀的存档文件中 ...

  8. 在ubuntu上安装npm

    sudo apt install npm 执行上面的安装命令,会报错: Reading package lists... Done Building dependency tree Reading s ...

  9. HDU 1565 方格取数(1) ——插头DP

    [题目分析] 其实直接状压就可以了. 但是有点闲,又写了一个可读性极差,智商低下,很(gou)好(pi)的代码 [代码] #include <cstdio> #include <cs ...

  10. hdu 4819 Mosaic 树套树 模板

    The God of sheep decides to pixelate some pictures (i.e., change them into pictures with mosaic). He ...