0
我正在尝试更新帐户实体的所有关联联系人上的电话号码。以下是我使用的代码,关联联系人上的电话号码未被更新 - 客户关系管理2011在线
public class Plugin:IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
IPluginExecutionContext context = (IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));
Entity entity;
if (context.InputParameters.Contains("Target") &&
context.InputParameters["Target"] is Entity)
{
entity = (Entity)context.InputParameters["Target"];
if (entity.LogicalName != "account") { return; }
}
else
{
return;
}
try
{
string telephoneNum = string.Empty;
IOrganizationServiceFactory serviceFactory =(IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service =serviceFactory.CreateOrganizationService(context.UserId);
var id = (Guid)context.OutputParameters["id"];
telephoneNum = entity.GetAttributeValue<string>("telephone1");
UpdateContact(service, id,telephoneNum);
}
catch (FaultException<OrganizationServiceFault> ex)
{
throw new InvalidPluginExecutionException(
"An error occurred in the plug-in.", ex);
}
}
private static void UpdateContact(IOrganizationService service, Guid id,string telephoneNUm)
{
using (var crm = new XrmServiceContext(service))
{
var res = from c in crm.CreateQuery("contact")
where c["parentcustomerid"].Equals(id)
select c;
foreach (var c in res)
{
Entity e = (Entity)c;
e["telephone1"] = telephoneNUm;
crm.UpdateObject(e);
}
crm.SaveChanges();
}
}
}
我登记上更新的插件,并且主要实体“账户”,但每当我试图挽救该帐户的形式在电话场数变化之后我看到一个弹出错误。我错过了什么吗?谢谢你们!
您能指定弹出哪个错误。如果是通用错误,请激活[trace](http://exploringxrm.wordpress.com/2012/01/12/enabling-trace-in-microsoft-dynamics-crm-2011/)或使用此[工具](http ://crmdiagtool2011.codeplex.com/)获取完整的错误信息。 – 2013-03-20 18:12:40