Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }