Dynamics CRM 2011 插件:在完成旧的 Phone 调用后创建新的 Phone 调用
Dynamics CRM 2011 Plugin : Create New Phone Call After Complete An Old Phone Call
我想创建一个新插件以在最后一个 phone 调用状态即将完成时创建新的 phone 调用。
我正在编写下面的代码,但它创建了重复键异常...
if (entity.Attributes.ContainsKey("statuscode") &&
((OptionSetValue)entity.Attributes["statuscode"]).Value == 2)
{
if (preTarget != null)
{
try
{
var newCall = new Entity("phonecall");
newCall.Attributes.Add("to", preTarget.Attributes["to"]);
newCall.Attributes.Add("from", preTarget.Attributes["from"]);
newCall.Attributes.Add("subject", preTarget.Attributes["subject"]);
newCall.Attributes.Add("ownerid", preTarget.Attributes["ownerid"]);
organizationService.Create(newCall);
}
catch (Exception exception)
{
throw new InvalidPlugiExecutionException(exception.Message, exception);
}
}
}
您将不得不更改进出字段的方法。尝试对往返字段使用以下代码:
if (preTarget.Contains("to"))
{
Entity to1 = new Entity("activityparty");
to1["partyid"] = preTarget.getAttributeValue<EntityCollection>("to").Entities[0]["partyid"];
newCall["to"] = new Entity[] { to1 };
}
我想创建一个新插件以在最后一个 phone 调用状态即将完成时创建新的 phone 调用。
我正在编写下面的代码,但它创建了重复键异常...
if (entity.Attributes.ContainsKey("statuscode") &&
((OptionSetValue)entity.Attributes["statuscode"]).Value == 2)
{
if (preTarget != null)
{
try
{
var newCall = new Entity("phonecall");
newCall.Attributes.Add("to", preTarget.Attributes["to"]);
newCall.Attributes.Add("from", preTarget.Attributes["from"]);
newCall.Attributes.Add("subject", preTarget.Attributes["subject"]);
newCall.Attributes.Add("ownerid", preTarget.Attributes["ownerid"]);
organizationService.Create(newCall);
}
catch (Exception exception)
{
throw new InvalidPlugiExecutionException(exception.Message, exception);
}
}
}
您将不得不更改进出字段的方法。尝试对往返字段使用以下代码:
if (preTarget.Contains("to"))
{
Entity to1 = new Entity("activityparty");
to1["partyid"] = preTarget.getAttributeValue<EntityCollection>("to").Entities[0]["partyid"];
newCall["to"] = new Entity[] { to1 };
}