1. using System;
  2. using Microsoft.Xrm.Sdk;
  3. using Microsoft.Crm.Sdk.Messages;
  4. using Microsoft.Xrm.Sdk.Query;
  5.  
  6. /// <summary>
  7. /// 约会
  8. /// </summary>
  9. public class AppointmentHelper
  10. {
  11. public static readonly string entityName = "appointment";
  12. public Guid appointmentId = Guid.Empty;
  13. public IOrganizationService service;
  14.  
  15. /// <summary>
  16. /// 创建约会
  17. /// </summary>
  18. public void Create()
  19. {
  20. WhoAmIRequest userRequest = new WhoAmIRequest();
  21. WhoAmIResponse userResponse = (WhoAmIResponse)service.Execute(userRequest);
  22. Entity activitypartyEn = new Entity() { LogicalName = "activityparty" };
  23. activitypartyEn["partyId"] = new EntityReference() { LogicalName = "systemuser", Id = userResponse.UserId };
  24.  
  25. Entity en = new Entity() { LogicalName = entityName };
  26. en["subject"] = "约会测试";
  27. en["scheduledstart"] = DateTime.Now.AddHours();
  28. en["scheduledend"] = DateTime.Now.AddHours();
  29. en["location"] = "办公室";
  30. en["requiredattendees"] = new Entity[] { activitypartyEn };
  31. en["organizer"] = new Entity[] { activitypartyEn };
  32. appointmentId = service.Create(en);
  33. }
  34.  
  35. /// <summary>
  36. /// 向现有约会中添加定期信息,以使其成为定期主约会
  37. /// </summary>
  38. /// <param name="target">目标信息</param>
  39. public void AddRecurrence(Entity target)
  40. {
  41. AddRecurrenceRequest request = new AddRecurrenceRequest();
  42. request.AppointmentId = appointmentId;
  43. request.Target = target;
  44. AddRecurrenceResponse response = (AddRecurrenceResponse)service.Execute(request);
  45. Guid id = response.id;
  46. }
  47.  
  48. /// <summary>
  49. /// 将约会分派给其他用户或团队
  50. /// </summary>
  51. /// <param name="assignee">用户或团队引用</param>
  52. public void Assign(EntityReference assignee)
  53. {
  54. AssignRequest request = new AssignRequest();
  55. request.Target = new EntityReference() { LogicalName = entityName, Id = appointmentId };
  56. request.Assignee = assignee;
  57. AssignResponse response = (AssignResponse)service.Execute(request);
  58. }
  59.  
  60. /// <summary>
  61. /// 安排或预定约会
  62. /// </summary>
  63. public void Book()
  64. {
  65. BookRequest request = new BookRequest();
  66. request.Target = new Entity() { LogicalName = entityName, Id = appointmentId };
  67. BookResponse response = (BookResponse)service.Execute(request);
  68. ValidationResult validationResult = response.ValidationResult;
  69. }
  70.  
  71. /// <summary>
  72. /// 重新安排约会
  73. /// </summary>
  74. public void Reschedule()
  75. {
  76. RescheduleRequest request = new RescheduleRequest();
  77. request.Target = new Entity() { LogicalName = entityName, Id = appointmentId };
  78. RescheduleResponse response = (RescheduleResponse)service.Execute(request);
  79. ValidationResult validationResult = response.ValidationResult;
  80. }
  81.  
  82. /// <summary> ///
  83. /// 删除约会 ///
  84. /// </summary>
  85. public void Delete() { service.Delete(entityName, appointmentId); }
  86. }

Appointment Helper的更多相关文章

  1. [C#] 简单的 Helper 封装 -- RegularExpressionHelper

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. handlebars自定义helper的写法

    handlebars相对来讲算一个轻量级.高性能的模板引擎,因其简单.直观.不污染HTML的特性,我个人特别喜欢.另一方面,handlebars作为一个logicless的模板,不支持特别复杂的表达式 ...

  3. Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value '"*, Microsoft.AspNet.Mvc.TagHelpers"'

    project.json 配置: { "version": "1.0.0-*", "compilationOptions": { " ...

  4. VS2015突然报错————Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper

    Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with ...

  5. JavaScript模板引擎artTemplate.js——template.helper()方法

    上一篇文章我们已经讲到了helper()方法,但是上面的例子只是一个参数的写法,如果是多个参数,写法就另有区别了. <div id="user_info"></d ...

  6. [ASP.NET MVC 小牛之路]13 - Helper Method

    我们平时编程写一些辅助类的时候习惯用“XxxHelper”来命名.同样,在 MVC 中用于生成 Html 元素的辅助类是 System.Web.Mvc 命名空间下的 HtmlHelper,习惯上我们把 ...

  7. asp.net MVC helper 和自定义函数@functions小结

    asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们 ...

  8. C# random helper class

      项目中经常需要模拟些假数据,来做测试.这个随机生成数据的helper类就应用而生: using System; using System.Text; using System.Windows.Me ...

  9. @helper函数使用方法

    这个函数方法,我也是通过别人博客看到的,感觉不错和大家一起学习分享一下. 1.自定义函数方法,只在同一个view视图文件里调用 Controller public ActionResult Index ...

随机推荐

  1. Tomcat下JDBC连接样例

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  2. Linux系统学习之系统启动的5个过程

    Linux 系统启动过程 Linux系统的启动过程可以分为5个阶段: 1. 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动.操作系统接管硬件以后 ...

  3. flume 1.4 设置FLUME_CONF_DIR没用

    今天安装Apache Flume 1.4的时候,发现设置了FLUME_CONF_DIR环境变量和flume-env.sh后,运行flume-ng时flume-env.sh中的JAVA_HOME没有生效 ...

  4. Chosen三级联动

    上一篇介绍了  Chosen 的使用,这篇介绍联动.看代码: var addressResolve = function (options) { //检测用户传进来的参数是否合法 if (!isVal ...

  5. PowerDNS简单教程(4):优化篇

    目录: PowerDNS简单教程(1):安装篇 http://www.cnblogs.com/anpengapple/p/5205130.html PowerDNS简单教程(2):功能篇 http:/ ...

  6. Codeforces 955C - Sad powers(数论 + 二分)

    链接: http://codeforces.com/problemset/problem/955/C 题意: Q次询问(1≤Q≤1e5),每次询问给出两个整数L, R(1≤L≤R≤1e18),求所有符 ...

  7. 【[AHOI2005]病毒检测】

    \(Trie\) 树+搜索 我用的是\(dfs\) 首先对于将所有的RNA片段都建到\(Trie\)树里去,之后来匹配那个模板串就好了 如果是匹配的位置是字母,那么我们就继续往下匹配 如果是\(?\) ...

  8. php各种设计模式简单实践思考

    前言 我一直觉得什么框架,版本,甚至语言对于一个coder来说真的不算什么,掌握一个特别高大上的一个框架或者是一个新的,少众的语言真的不算什么,因为你可以,我要花时间也可以,大家都是这样的.所以基本的 ...

  9. .Net Core SignalR 初体验

    前言 Asp.Net SignalR已经出来很久了,但是一直没有静下心来好好看看.昨天花了几个小时的时间看了下.首先借鉴了官方文档,如何搭建一个SignalR的Demo. 参考文章:https://d ...

  10. ConcurrentHashMap 中putIfAbsent 和put的区别

    putIfAbsent 源代码 public V putIfAbsent(K key, V value) { Segment<K,V> s; if (value == null) thro ...