void subFlowDesigner_DesignerItemDoubleClick(object sender, EventArgs e) { try { DesignerItem designerItem = sender as DesignerItem; StepConfigurationBase configuration = GetStepConfiguration(designerItem.ID, designerItem.ModuleDescription, this.Package); SaveSubflowConfiguration(); SubFlowExecution subFlowExecution = GetSubflowExecution(); var dataStores = designerItem.ModuleDescription.Attributes.ModuleType == ModuleType.Source ? new List <IDatastore>() { new DummyDataStore() } : subFlowExecution.GetDataObjectForDesignerItem(designerItem.ID, false, null); ConfigurationWindowSettings configurationWindowSettings = ConfigurationWindowSettings.Get(designerItem, configuration, this.moduleLoader, dataStores, Connections); ShowConfiguationWindow(configurationWindowSettings); } catch (Exception ex) { HandleWindowOpenExceptions(ex); } }
public static ConfigurationWindowSettings Get(DesignerItem designerItem, StepConfigurationBase configuration, ModuleLoader moduleLoader, List <IDatastore> dataStores, IEnumerable <ConnectionConfigurationBase> connections) { var module = Activator.CreateInstance(designerItem.ModuleDescription.ModuleType) as IModule; ConfigurationWindowSettings configurationWindowSettings = new ConfigurationWindowSettings() { title = designerItem.ItemLabel, titleImage = IntegrationTool.SDK.Diagram.IconLoader.GetFromAssembly(designerItem.ModuleDescription.ModuleType.Assembly, "Icon.xml"), connections = connections.Where(t => t.ModuleDescription.Attributes.ConnectionType == designerItem.ModuleDescription.Attributes.ConnectionType), moduleDescription = designerItem.ModuleDescription, configuration = configuration, originalConfiguration = ConfigurationSerializer.SerializeObject(configuration, moduleLoader.GetModuleTypeList()), }; if (!dataStores.Any()) { throw new InfoException("No incoming data available. Please connect a datasource first!"); } if (module is IDataMerge) { if (dataStores.Count != 2) { throw new InfoException("Make sure to connect exactly two incoming datasources!"); } configurationWindowSettings.configurationControl = ((IDataMerge)module).RenderConfigurationWindow(configuration, dataStores[0], dataStores[1]); } else { configurationWindowSettings.configurationControl = ((IModule)module).RenderConfigurationWindow(configuration, dataStores.First()); configurationWindowSettings.datastore = dataStores.First(); } return(configurationWindowSettings); }
private StepConfigurationBase GetStepConfiguration(Guid designerItemId, ModuleDescription itemModuleDescription, Package package) { StepConfigurationBase configuration = package.Configurations.Where(t => t.ConfigurationId == designerItemId).FirstOrDefault() as StepConfigurationBase; if (configuration == null) { configuration = Activator.CreateInstance(itemModuleDescription.Attributes.ConfigurationType) as StepConfigurationBase; configuration.ConfigurationId = designerItemId; package.Configurations.Add(configuration); } return(configuration); }
private ItemWorker InitializeItemWorker(DesignerItemBase designerItem, StepConfigurationBase stepConfiguration) { designerItem.State = ItemState.Initialized; ItemWorker itemWorker = new ItemWorker(designerItem, stepConfiguration); itemWorker.BackgroundWorker = new System.ComponentModel.BackgroundWorker(); itemWorker.BackgroundWorker.WorkerReportsProgress = true; itemWorker.BackgroundWorker.DoWork += bgw_DoWork; itemWorker.BackgroundWorker.ProgressChanged += BackgroundWorker_ProgressChanged; itemWorker.BackgroundWorker.RunWorkerCompleted += BackgroundWorker_RunWorkerCompleted; return(itemWorker); }
void mainFlowDesigner_DesignerItemDoubleClick(object sender, EventArgs e) { try { doubleClickedMainflowDesignerItem = sender as DesignerItem; if (doubleClickedMainflowDesignerItem.ModuleDescription.Attributes.ContainsSubConfiguration) { packageDesignerTabControl.SelectedIndex = 1; } else { StepConfigurationBase configuration = GetStepConfiguration(doubleClickedMainflowDesignerItem.ID, doubleClickedMainflowDesignerItem.ModuleDescription, this.Package); ConfigurationWindowSettings configurationWindowSettings = ConfigurationWindowSettings.Get(doubleClickedMainflowDesignerItem, configuration, this.moduleLoader, null, Connections); ShowConfiguationWindow(configurationWindowSettings); } } catch (Exception ex) { HandleWindowOpenExceptions(ex); } }
private IntegrationTool.ProjectDesigner.MenuWindows.ConfigurationWindow GetConfigurationWindow(UserControl configurationControl, bool requiresConnectionConfiguration, StepConfigurationBase configuration, ModuleType moduleType, IDatastore datastore) { ObservableCollection <ConnectionConfigurationBase> connections = new ObservableCollection <ConnectionConfigurationBase>(); // Define Connections IntegrationTool.Module.ConnectToDynamicsCrm.ConnectToDynamicsCrmConfiguration connectToDynamicsCrmConfiguration = new IntegrationTool.Module.ConnectToDynamicsCrm.ConnectToDynamicsCrmConfiguration(); connectToDynamicsCrmConfiguration.Name = "Crm Connection"; connectToDynamicsCrmConfiguration.ConfigurationId = CRMCONNECTIONID; connectToDynamicsCrmConfiguration.ConnectionString = "Url=http://devserv/DataProc; Domain=DEV; Username=johntest; Password=12ab!12ab;"; connections.Add(connectToDynamicsCrmConfiguration); ModuleDescription moduleDescription = new ModuleDescription() { Attributes = new ModuleAttributeBase() { RequiresConnection = true, ModuleType = ModuleType.Target } }; ConfigurationWindowSettings configurationWindowSettings = new ConfigurationWindowSettings() { title = "Test CRM", titleImage = null, connections = connections, configurationControl = configurationControl, moduleDescription = moduleDescription, configuration = configuration, datastore = datastore }; ConfigurationWindow configWindow = new ConfigurationWindow(configurationWindowSettings); return(configWindow); }