/// <summary> /// Конструтор класса. /// </summary> /// <param name="activityContext">Контекст выполнения действия процесса.</param> public Context(CodeActivityContext activityContext) { SourceActivityContext = activityContext; _context = new Lazy <IWorkflowContext>(() => SourceActivityContext.GetContext()); _service = new Lazy <IOrganizationService>(() => SourceActivityContext.GetService()); _systemService = new Lazy <IOrganizationService>(() => SourceActivityContext.GetService(null)); _tracingService = new Lazy <ITracingService>(() => SourceActivityContext.GetTracingService()); }
/// <summary> /// Получение экземплпра CRM-сервиса. /// </summary> /// <param name="executionContext">Экземпляр класса <see cref="CodeActivityContext"/>.</param> /// <returns> /// Метод возвращает ссылку на экземпляр CRM-сервиса, запусщенного от имени пользователя, инициировавшего запуск действия процесса. /// </returns> public static IOrganizationService GetService(this CodeActivityContext executionContext) { var context = executionContext.GetContext(); return(executionContext.GetService(context.UserId)); }