【发布时间】:2013-09-27 11:40:18
【问题描述】:
我正在创建一个 silverlight 应用程序作为 CRM 2011 的 Web 资源。现在我正在 DB 中创建一个 ServiceAppointment 记录,创建后我想将其状态更改为“保留”而不是请求。
我在 google 上搜索了一下,发现了 Close a Service Activity Through Code 和 Microsoft.Crm.Sdk.Messages.SetStateRequest 这样的例子
他们都建议使用“SetStateRequest”,为此我必须设置 OptionSetValue 之类的
request["State"] = new OptionSetValue(4);
但上面的行给了我错误说“OptionSetValue 不包含带有一个参数的构造函数” 顺便说一句,我在 silverlight 应用程序中使用 CRM 2011 服务的 SOAP 端点
朋友们有什么想法吗?
编辑
以下是我的代码
var request = new OrganizationRequest { RequestName = "SetStateRequest" };
request["State"] = 3;
request["Status"] = 4;
request["EntityMoniker"] = new EntityReference() { Id = createdActivityId, LogicalName = "serviceappointment" };
crmService.BeginExecute(request,ChangeActivityStatusCallback,crmService);
我的回调函数是 private void ChangeActivityStatusCallback(IAsyncResult 结果) {
OrganizationResponse response;
try
{
response = ((IOrganizationService)result.AsyncState).EndExecute(result);
}
catch (Exception ex)
{
_syncContext.Send(ShowError, ex);
return;
}
}
【问题讨论】:
-
你能把你的optionsetvalue构造函数截图吗?
-
第一个代码块中 OptionSetValue 的命名空间是什么?如果您不打算使用 OptionSetValue,则需要状态的文本值,而不是 int,所以“活动”,而不是 1 或“1”
-
OptionSetvalue' 的全称是 MayProjectNameSpance.Silverlight.Common.crmSdk.OptionSetvalue
标签: silverlight dynamics-crm-2011 dynamics-crm silverlight-5.0