数日前に MS CRM の開発を開始しましたが、今日はこの非常に単純な基本操作に何時間も費やしましたが、間違っていることを見つけることができませんでした。
レコードの作成時に、連絡先エンティティのミドル ネームを更新したいと考えています。そして、私は次のコードで行うことができます。
しかし、連絡先レコードを開くときに同じことをしたいと思っています。contact Entity の下の Retrieve Message に新しいステップを登録しました。しかし、それは機能していません..例外はスローされません。
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());
}
}
}