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(); } } }
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; }
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); } } } }