几天前我开始了 MS CRM 开发,今天我花了几个小时在这个非常简单的基本操作上,并没有找到我做错了什么的运气。
我想在创建记录时更新联系人实体的中间名。我可以用下面的代码来做。
但是现在我想在打开联系人记录时做同样的事情。我确实在联系实体下注册了一个关于检索消息的新步骤。但它不起作用..没有抛出异常。
public class IzzyPlugin : IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
try
{
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = factory.CreateOrganizationService(context.UserId);
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
Entity currentEntity = (Entity)context.InputParameters["Target"];
if (currentEntity.Attributes.Contains("middlename"))
{
currentEntity.Attributes["middlename"] = "Middle name changed";
}
else
{
currentEntity.Attributes.Add("middlename", "Middle name changed");
}
service.Update(currentEntity);
}
}
catch (Exception f)
{
throw new InvalidPluginExecutionException(f.ToString());
}
}
}