Force SDK to create Appointment programmatically in crm 2013 onPremise

As I know based on this:

msdn.microsoft.com/.../gg334289.aspx

and

community.dynamics.com/.../book-an-appointment-in-microsoft-dynamics-crm-2011-using-c-or-jscript.aspx

This request is to validate and book appointment if valid.

_appointmentId = booked.ValidationResult.ActivityId;

// Verify that the appointment has been scheduled.

if (_appointmentId != Guid.Empty)

I would suggest you to create your own pop up.

The logic is

you add one more Else after

if (_appointmentId != Guid.Empty)

It does mean the user is not available, and since you are building windows app, create your own window, and you can force it by skipping this validation, instead, using your own pop up, and if the user says yes, you just create appointment using common create request.

So, if the BookRquest is properly used for validation and booking purpose, see this as well:

Description = "Test Appointment created using the BookRequest Message.",

Then to force, you just create an Appointment using standard Create message:

msdn.microsoft.com/.../gg334604.aspx

or

public void CreateRequiredRecords()

{

// Create a contact

Contact newContact = new Contact

{

FirstName = "Lisa",

LastName = "Andrews",

EMailAddress1 = "[email protected]"

};

_contactId = _serviceProxy.Create(newContact);

Console.WriteLine("Created contact: {0}.", newContact.FirstName + " " + newContact.LastName);

// Create ab activity party

ActivityParty requiredAttendee = new ActivityParty

{

PartyId = new EntityReference(Contact.EntityLogicalName, _contactId)

};

// Create an appointment

Appointment newAppointment = new Appointment

{

Subject = "Test Appointment",

Description = "Test Appointment",

ScheduledStart = DateTime.Now.AddHours(1),

ScheduledEnd = DateTime.Now.AddHours(2),

Location = "Office",

RequiredAttendees = new ActivityParty[] {requiredAttendee}

};

_appointmentId = _serviceProxy.Create(newAppointment);

Console.WriteLine("Created {0}.", newAppointment.Subject);

}

Thank you.

Source:http://community.dynamics.com/crm/f/117/t/146823

时间: 2024-08-23 13:59:40

Force SDK to create Appointment programmatically in crm 2013 onPremise的相关文章

Dynamic CRM 2013学习笔记(十四)复制/克隆记录

经常有这样的需求,一个单据上有太多要填写的内容,有时还关联多个子单据,客户不想一个一个地填写,他们想从已有的单据上复制数据,克隆成一条新的记录.本文将介绍如何克隆一条记录,包括它的子单据以生成一条新的记录. 主要用到Microsoft.Xrm.Client.EntityExtensions.Clone方法来克隆数据,以及用OrganizationServiceContext来动态复制子单据的数据. 首先在界面上新加一个Clone的按钮,加一个new_clone的字段:点击按钮时,把new_clo

Dynamic CRM 2013学习笔记(四十三)流程6 - 自定义流程活动

当我们在流程里添加步骤时,有一些默认的步骤,像创建.更新.发邮件等,但如果你想加一个里面没有的步骤,比如发SMS消息,或者调用一个外部的web service,怎么办?这时就只能自定义一个流程活动了.下面将详细介绍如何创建一个自定义的流程活动.   1. 打开vs2012,新建一个项目:   需要引用CRM 的二个dll :  Microsoft.Xrm.Sdk;  Microsoft.Xrm.Sdk.Workflow;   2. 删除默认的 Activity1. xaml ,新建一个类: us

Dynamic CRM 2013学习笔记(五)禁止修改审批通过后的单据

审批通过后的单据,一般要对其进行控制,不能修改,不能添加,删除等,下面分别介绍下如何实现: 一. 禁止修改: 1. 主表控制,如果页面上审批状态为审批中或审批通过,就把整个页面都disable掉 1: function controlReadonly() { 2: var status = Xrm.Page.data.entity.attributes.get("new_approval_status").getValue(); 3: if (status == 2 || status

Dynamic CRM 2013学习笔记(二)插件基本用法及调试

插件是可与 Microsoft Dynamics CRM 2013 和 Microsoft Dynamics CRM Online 集成的自定义业务逻辑(代码),用于修改或增加平台的标准行为.也可以将插件认为是针对 Microsoft Dynamics CRM 触发的事件的处理程序.您可以让插件订阅或注册已知事件集,以便在事件发生时运行您的代码.   一.基本用法 1. 要继承IPlugin,并实现Excute方法 ( 1- 3 行) 2. 从service provide 里获取执行上下文 (

Dynamic CRM 2013学习笔记(三)快速创建实体 EntityCreater

一.实体简介 实体用于在 Microsoft Dynamics CRM 中建立业务数据模型和管理业务数据.例如,可以使用客户.市场活动和事件(案例)等实体跟踪和支持销售.市场营销和服务活动.实体具有一组属性,每个属性表示一个特定类型的数据项.例如,客户实体具有 Name.Address 和 OwnerId 属性.从概念上讲,实体类似于数据库表,实体属性对应于表列.在 Microsoft Dynamics CRM 中创建实体记录(或记录)类似于在数据库表中添加记录.实体划分成三个类别:系统.业务和

Dynamic CRM 2013学习笔记(三十四)自定义审批流5 - 自动邮件通知

审批过程中,经常要求自动发邮件:审批中要通知下一个审批人进行审批:审批完通知申请人已审批完:被拒绝后,要通知已批准的人和申请人.下面详细介绍如何实现一个自动发邮件的插件:   1. 根据审批状态来确定要通知哪个人或哪个角色 状态为2 - 审批中时,查找下一个审批人 /// <summary>/// 下一个审批人/// </summary>/// <returns></returns>private List<Guid> GetNextStepPe

Dynamic CRM 2013学习笔记(三十八)流程1 - 操作(action)开发与配置详解

CRM 2013 里流程有4个类别:操作(action).业务流程(business process flow).对话(dialog)和工作流(workflow).它们都是从 setting –> Process 进入,然后点击New按钮来创建: 这篇主要介绍操作:什么是操作.什么时候使用操作.如何创建以及如何调用 一.什么是操作 操作是CRM 2013 新增加的一个功能,用来扩展系统的标准功能.业务人员可以用它来实现业务逻辑,然后开发人员可以在系统事件里(比如update,create)来使用

Dynamic CRM 2013学习笔记(三十五)自定义审批流6 - 审批通过后,再审批 - 二次审批

最近有个特殊的需求,客户想做二次审批,就是审批通过后,再走一次审批流程.最开始一想,这还不简单,审批通过后,直接把状态改成draft就完了,后来一试,发现一堆问题,比如第一次审批完后,界面是不允许修改的,直接改成draft就又可以修改了:再比如审批活动记录的查找以及死循环的问题等等.于是自己动手单独写了一个公用的再审批插件,下面介绍详细的实现步骤:   一.添加字段以控制再审批的次数 添加一个字段 new_approval_count, 再审批一次就把它加1.如果只要再审批一次,那么大于1就退出

Dynamices CRM JS 类库 神器 XrmServiceToolkit - A Microsoft Dynamics CRM 2011 &amp; CRM 2013 JavaScript Library

XrmServiceToolkit - A Microsoft Dynamics CRM 2011 & CRM 2013 JavaScript Library http://xrmservicetoolkit.codeplex.com/documentation 特殊用法Create 和 Update { id: Id, logicalName: "new_entityname", type: "EntityReference" };       //Loo