MarketingList(A) を削除すると、MarketingList(A) の属性に格納されている Guid を使用して別の Marketing List(B) を起動して取得するプラグインがあります。
MarketingList(A) を選択して削除すると、MarketingList(B) が正しく削除されます。しかし、両方 (A & B) またはグリッド上のすべてのレコードを選択すると、「エラーが発生しました。選択したアクションは、1 つ以上のレコードに対して完了しませんでした」という警告が表示されます。警告の後、レコードは削除されます。
どんな助けでも大歓迎です!
プラグイン:
Message: **Delete**<br>
PrimaryEntity: **list**<br>
Stage of Execution: **Pre-Validation**.
コード:
if (context.MessageName == "Delete")
{
using (var crm = new XrmServiceContext(service))
{
List listToDelete = crm.ListSet.Where(p => p.Id == context.PrimaryEntityId).SingleOrDefault();
List retrievedList = crm.ListSet.Where(p => p.Id == new Guid(listToDelete.tph_WitnessMarketingListID)).SingleOrDefault();
if (retrievedList == null) return;
crm.DeleteObject(retrievedList);
crm.SaveChanges();
}
}