0
我爲ms crm 2016編寫了以下插件,用於檢測重複內容。如何毫無例外地完成「ms crm複製插件」並且沒有消息?
public void Execute(IServiceProvider serviceProvider)
{
var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
var serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
var service = (IOrganizationService)serviceFactory.CreateOrganizationService(context.UserId);
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
var entity = (Entity) context.InputParameters["Target"];
var name = entity.GetAttributeValue<string>("name");
var opportunityCompany = new QueryExpression
{
EntityName = entity.LogicalName,
ColumnSet = new ColumnSet("name")
};
opportunityCompany.Criteria.AddCondition("name", ConditionOperator.Equal, name);
var retrieveAccount = service.RetrieveMultiple(opportunityCompany);
//If the retrieved Company Count Greater Than 1 , following Error Message Throw
if (retrieveAccount.Entities.Count > 1)
{
throw new InvalidPluginExecutionException("Following Record with Same Name is Exists");
}
}
}
這工作正常,但在重複的情況下,我想結束記錄創建沒有例外,沒有消息在頁面上。我如何在插件中做到這一點?有些人跟我說我可以在CodeActivity中實現這個功能。我如何在ms crm插件中實現CodeActivity?
或者,我想停止插件,以便「用戶」不知道它。它有多好?