private void InsertDB_Nodes(WorkflowContext ctx, Guid?lineId, ParallelInfo parallel, Guid wfId, Dictionary <string, Guid> nodes) { var node_db = new Sys_NodeDefine(Guid.NewGuid()); node_db.WFId = wfId; node_db.Name = parallel.Name; node_db.Status = "normal"; node_db.CreateTime = DateTime.Now; node_db.Description = "auto create"; node_db.IsParallel = true; node_db.ExecuteLineId = lineId; ctx.Sys_NodeDefines.Add(node_db); nodes.Add(node_db.Name, node_db.Id); foreach (var line in parallel.ExecuteLines) { InsertDB_Nodes(ctx, line, node_db, wfId, nodes); } }
private void InsertDB_Nodes(WorkflowContext ctx, ExecuteLineInfo line, Sys_NodeDefine parallel, Guid wfId, Dictionary <string, Guid> nodes) { var line_db = new Sys_ExecuteLine(); line_db.Id = Guid.NewGuid(); line_db.Name = line.Name; line_db.WFId = wfId; line_db.CreateTime = DateTime.Now; ctx.Sys_ExecuteLines.Add(line_db); var exe_Line = new Sys_Parallel_ExecuteLine(); exe_Line.Id = Guid.NewGuid(); exe_Line.NodeId = parallel.Id; exe_Line.ExecuteLineId = line_db.Id; exe_Line.CreateTime = DateTime.Now; ctx.Sys_Parallel_ExecuteLines.Add(exe_Line); foreach (var unit in line.Units) { InsertDB_Nodes(ctx, line_db.Id, unit, wfId, nodes); } }