![]() |
#7 |
Чайный пьяница
|
Цитата:
Сообщение от Omalinka
![]() Исходя из статьи http://dmcrm.blogspot.com/2008/08/st...on-method.html переписала код с использованием OpportunityClose.
Код: public class OpportunityFact : IPlugin { public void Execute(IServiceProvider serviceProvider) { ITracingService tracer = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); if (tracer == null) throw new InvalidPluginExecutionException("Failed to retrieve the tracing service."); try { Microsoft.Xrm.Sdk.IPluginExecutionContext context = (Microsoft.Xrm.Sdk.IPluginExecutionContext) serviceProvider.GetService(typeof(Microsoft.Xrm.Sdk.IPluginExecutionContext)); if (context.InputParameters.Contains("OpportunityClose") && context.InputParameters["OpportunityClose"] is Entity) { IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = factory.CreateOrganizationService(context.UserId); Entity entity = (Entity)context.InputParameters["OpportunityClose"]; if (entity.LogicalName == "opportunityclose") { throw new Exception("win!"); } } } catch (Exception e) { tracer.Trace("Received exception: {0}", e); throw new InvalidPluginExecutionException(e.Message); } } } Это возможно сделать? Плагин зарегестирован на событиях Won и Lose на PreStage.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Omalinka (1). |
|
|