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. Java-确定字符串是否包含子字符串

    利用String自带的函数和正则来实现 package com.tj; public class MyClass implements Cloneable { public static void m ...

  2. linux下ln命令

    转自:http://www.cnblogs.com/peida/archive/2012/12/11/2812294.html ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位 ...

  3. 九度oj 题目1140:八皇后

    题目描述: 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. 对于某个满足要求的 ...

  4. MySQL binlog_rows_query_log_events在线设置无效

    binlog_rows_query_log_events 对binlog_format=row有效,设为true后可以在binary log中记录原始的语句 官方文档显示binlog_rows_que ...

  5. BZOJ 2301 [HAOI2011]Problem b ——莫比乌斯反演

    分成四块进行计算,这是显而易见的.(雾) 然后考虑计算$\sum_{i=1}^n|sum_{j=1}^m gcd(i,j)=k$ 首先可以把n,m/=k,就变成统计&i<=n,j< ...

  6. Nk 1430 Fibonacci(二分矩阵乘幂)

    AC代码: #include<iostream> using namespace std; ][]; ][]; ][]; ][]; void binary(int n) { int i,j ...

  7. 【BZOJ2049】洞穴勘测(LCT)

    题意:一张图,要求支持以下操作: 1.加边 2.删边 3.询问两点之间是否联通 100%的数据满足n≤10000, m≤200000 思路:LCT裸题,不需要维护任何信息 ..,..]of longi ...

  8. Java 模板权重随机

    Template templates=...// 所有的模板 final int _weights=1000; // 所有的模板权重 Template _template=null; //随机一个权重 ...

  9. web开发规范文档

    Web前端开发规范文档 规范目的: 使开发流程更加规范化. 通用规范: TAB键用两个空格代替(windos下tab键占四个空格,linux下TAB键占八个空格).  CSS样式属性或者JAVASCR ...

  10. python多线程(三)

    原文:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944771.html 一.Python中的线程使用: Python中使用线程有两种方式: ...