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. LongListSelector 控件 在 wp7 和wp8中的不同之处

    众所周知,wp8中的LongListSelector集成到了Rom中. 性能得到了提升,一些api也发生了变化. 在这里总结一下,作为分享,也作为备忘. 参考文献 Windows Phone 8 XA ...

  2. appium+python自动化-adb shell模拟点击事件(input tap)

    前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...

  3. pytest分布式执行(pytest-xdist)

    前言 平常我们手工测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟.如果一个测试人员执行需要1000分钟才能执行完,当项目非常紧急的时候, 我们会用测试人力成本换取时间成本,这个时候多找 ...

  4. HDU-4848 Wow! Such Conquering! 爆搜+剪枝

    Wow! Such Conquering! 题意:一个n*n的数字格,Txy表示x到y的时间.最后一行n-1个数字代表分别到2-n的最晚时间,自己在1号点,求到达这些点的时间和的最少值,如果没有满足情 ...

  5. 九度oj 题目1530:最长不重复子串

    题目描述: 最长不重复子串就是从一个字符串中找到一个连续子串,该子串中任何两个字符都不能相同,且该子串的长度是最大的. 输入: 输入包含多个测试用例,每组测试用例输入一行由小写英文字符a,b,c... ...

  6. 送信 okhttp

    package jp.co.gunmabank.minefocus.accountApp import android.content.Intentimport android.graphics.Co ...

  7. hihoCoder 1367 等式填空

    明确题意 等号左边是由'+'和'?'组成的算式,其中处于某个整数(即便这个整数只有一位)首位的'?'可以填入1-9中的某个数字,其余'?'可以填入0-9中的某个数字. SOURCE 这里未明确等号左边 ...

  8. 刷题总结——拦截导弹(ssoj)

    题目: 题目背景 NOIP1999 提高组试题 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都 ...

  9. 网页抓取小工具(IE法)

    网页抓取小工具(IE法)—— 吴姐 http://club.excelhome.net/thread-1095707-1-1.html 用IE提取网页资料的好处在于:所见即所得,网页上能看到的信息一般 ...

  10. P1651 塔 (动态规划)

    题目描述 小明很喜欢摆积木,现在他正在玩的积木是由N个木块组成的,他想用这些木块搭出两座高度相同的塔,一座塔的高度是搭建它的所有木块的高度和,并且一座塔至少要用一个木块.每个木块只能用一次,也可以不用 ...