示例#1
0
        private void SaveSubflowConfiguration()
        {
            if (doubleClickedMainflowDesignerItem != null)
            {
                SerializedDiagram subDiagram = this.Package.SubDiagrams.Where(t => t.ParentItemId == doubleClickedMainflowDesignerItem.ID).FirstOrDefault();

                var subFlowDesigner = this.subFlowContent.Content as FlowDesign.FlowDesigner;
                if (subFlowDesigner != null && subDiagram != null)
                {
                    subDiagram.Diagram = subFlowDesigner.MyDesigner.SaveDiagramToXElement();
                }
            }
        }
示例#2
0
        void bgw_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            var itemWorker   = e.Argument as ItemWorker;
            var designerItem = itemWorker.DesignerItem;

            ItemLog itemLog = ItemLog.CreateNew(designerItem.ID, designerItem.ItemLabel, designerItem.ModuleDescription.ModuleType.Name, DateTime.Now);

            ObjectResolver objectResolver = new ObjectResolver(this.package.Configurations.OfType <StepConfigurationBase>().ToList(), connectionConfigurations);

            try
            {
                if (designerItem.ModuleDescription.Attributes.ContainsSubConfiguration)
                {
                    SerializedDiagram subDiagram = this.package.SubDiagrams.FirstOrDefault(t => t.ParentItemId == designerItem.ID);
                    if (subDiagram != null)
                    {
                        IntegrationTool.SDK.Diagram.DiagramDeserializer deserializer = new SDK.Diagram.DiagramDeserializer(this.loadedModules, subDiagram.Diagram);
                        var flowGraph = new FlowGraph(deserializer.DesignerItems, deserializer.Connections);
                        SubFlowExecution subFlowExecution = new SubFlowExecution(itemWorker, itemLog, objectResolver, flowGraph);
                        subFlowExecution.Execute(this.runLog);
                    }
                }
                else
                {
                    ItemExecution itemExecution = new ItemExecution(itemWorker, objectResolver, this.runLog);
                    itemExecution.Execute();
                }
            }
            catch (Exception ex)
            {
                itemLog.ExecutionError = ex.ToString();
            }

            itemLog.EndTime = DateTime.Now;
            lock (this.runLog.ItemLogs)
            {
                this.runLog.ItemLogs.Add(itemLog);
            }

            e.Result = itemLog;
        }
示例#3
0
 private void LoadSubflowConfiguration()
 {
     if (doubleClickedMainflowDesignerItem != null)
     {
         SerializedDiagram subDiagram = this.Package.SubDiagrams.Where(t => t.ParentItemId == doubleClickedMainflowDesignerItem.ID).FirstOrDefault();
         if (subDiagram == null)
         {
             subDiagram = new SerializedDiagram();
             subDiagram.ParentItemId = doubleClickedMainflowDesignerItem.ID;
             this.Package.SubDiagrams.Add(subDiagram);
         }
         else
         {
             var subFlowDesigner = this.subFlowContent.Content as FlowDesign.FlowDesigner;
             if (subFlowDesigner != null)
             {
                 subFlowDesigner.MyDesigner.LoadDiagramFromXElement(subDiagram.Diagram);
             }
         }
     }
 }