public object GetDetailWidthBinding(int taskId) { //得到所有绑定 并确定主节点情况 var taskandbinds = TaskBll.ToRightTaskNodes(taskId, null, false); using (RLib.DB.DbConn dbconn = Pub.GetConn()) { var nodeldal = new DAL.NodeDal(); foreach (var b in taskandbinds.Item2) { b.Node = nodeldal.Detail(dbconn, b.NodeId); } } return(taskandbinds); }
public bool StartTask(int taskId, List <int> nodeids) { var taskandbinds = TaskBll.ToRightTaskNodes(taskId, nodeids, true); if (taskandbinds.Item2.Count() == 0) { throw new MException("没有节点,无法启动!"); } if (taskandbinds.Item1.CurrVersionId == 0) { throw new MException("请上传任务版本文件并设置当前运行版本!"); } using (RLib.DB.DbConn dbconn = Pub.GetConn()) { dbconn.BeginTransaction(); try { var cmdmodel = new Model.Cmd() { CmdArgs = RLib.Utils.DataSerialize.SerializeJson(new Ruanal.Core.CmdTaskArg() { TaskId = taskId }), CmdState = 0, CmdType = Ruanal.Core.ConfigConst.CmdType_StartTask, NodeId = 0 }; List <string> clientIds = new List <string>(); foreach (var a in taskandbinds.Item2) { cmdmodel.NodeId = a.NodeId; cmddal.AddCmd(dbconn, cmdmodel); taskdal.UpdateBindLocalState(dbconn, a.BindId, 1); clientIds.Add(a.Node.ClientId); } dbconn.Commit(); NotifyNewCmd(clientIds); return(true); } catch (Exception ex) { dbconn.Rollback(); throw ex; } } }