Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 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);
     }
 }
Exemplo n.º 6
0
        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);
        }