public JsonResult Run(int id) { return(this.Visit(Core.EnumUserRole.Admin, () => { try { tb_task_dal dal = new tb_task_dal(); tb_command_dal cmdDal = new tb_command_dal(); using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString)) { PubConn.Open(); tb_task_model task = dal.GetOneTask(PubConn, id); tb_command_model c = new tb_command_model() { command = "", commandcreatetime = DateTime.Now, commandname = EnumTaskCommandName.RunTask.ToString(), taskid = id, nodeid = task.nodeid, commandstate = (int)EnumTaskCommandState.None }; cmdDal.Add(PubConn, c); return Json(new { code = 1, msg = "Success" }); } } catch (Exception ex) { return Json(new { code = -1, msg = ex.Message }); } })); }
public JsonResult Uninstall(int id) { return(this.Visit(Core.EnumUserRole.Admin, () => { try { tb_command_dal commanddal = new tb_command_dal(); tb_task_dal dal = new tb_task_dal(); using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString)) { PubConn.Open(); var taskmodel = dal.Get(PubConn, id); dal.UpdateTaskState(PubConn, id, (int)Core.EnumTaskState.Stop); tb_command_model m = new tb_command_model() { command = "", commandcreatetime = DateTime.Now, commandname = EnumTaskCommandName.UninstallTask.ToString(), taskid = id, nodeid = taskmodel.nodeid, commandstate = (int)EnumTaskCommandState.None }; commanddal.Add(PubConn, m); return Json(new { code = 1 }); } } catch (Exception ex) { return Json(new { code = -1, msg = ex.Message }); } })); }
public JsonResult ChangeTaskState(int id, int nodeid, int state) { return(this.Visit(Core.EnumUserRole.Admin, () => { tb_command_dal dal = new tb_command_dal(); tb_task_dal taskDal = new tb_task_dal(); using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString)) { PubConn.Open(); if (taskDal.CheckTaskState(PubConn, id) == state) { string msg = state == 1 ? "已开启" : "已关闭"; return Json(new { code = -1, msg = msg }); } else { tb_command_model m = new tb_command_model() { command = "", commandcreatetime = DateTime.Now, commandname = state == (int)EnumTaskCommandName.StartTask ? EnumTaskCommandName.StartTask.ToString() : EnumTaskCommandName.StopTask.ToString(), taskid = id, nodeid = nodeid, commandstate = (int)EnumTaskCommandState.None }; dal.Add(PubConn, m); } return Json(new { code = 1, msg = "Success" }); } })); }
public static bool AddTaskCommand(tb_command_model model) { tb_command_dal dal = new tb_command_dal(); using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString)) { PubConn.Open(); return(dal.Add(PubConn, model)); } }
/// <summary> /// 执行命令 /// </summary> /// <param name="commandInfo"></param> public static void Execute(tb_command_model commandInfo) { string namespacestr = typeof(BaseCommand).Namespace; var obj = Assembly.GetAssembly(typeof(BaseCommand)).CreateInstance(namespacestr + "." + commandInfo.commandname.ToString() + "Command", true); if (obj != null && obj is BaseCommand) { var command = (obj as BaseCommand); command.CommandInfo = commandInfo; command.Execute(); } }
public int UpdateCommand(DbConn PubConn, tb_command_model model) { return(SqlHelper.Visit(ps => { ps.Add("command", model.command); ps.Add("commandstate", model.commandstate); ps.Add("nodeid", model.nodeid); ps.Add("commandname", model.commandname); ps.Add("id", model.id); string sql = "update tb_command set command=@command,commandstate=@commandstate,commandname=@commandname,nodeid=@nodeid where id=@id"; return PubConn.ExecuteSql(sql, ps.ToParameters()); })); }
public ActionResult Update(tb_command_model model) { return(this.Visit(Core.EnumUserRole.Admin, () => { tb_command_dal dal = new tb_command_dal(); using (DbConn PubConn = DbConfig.CreateConn(Config.TaskConnectString)) { PubConn.Open(); model.commandcreatetime = DateTime.Now; dal.UpdateCommand(PubConn, model); } return RedirectToAction("index"); })); }
public ActionResult Add(tb_command_model model) { return(this.Visit(EnumUserRole.Admin, () => { tb_command_dal dal = new tb_command_dal(); using (DbConn PubConn = DbConn.CreateConn(Config.TaskConnectString)) { PubConn.Open(); model.commandcreatetime = DateTime.Now; dal.Add(PubConn, model); RedisHelper.SendMessage(new Core.Redis.RedisCommondInfo() { CommondType = Core.Redis.EnumCommondType.TaskCommand, NodeId = model.nodeid }); } return RedirectToAction("index"); })); }
public JsonResult ChangeMoreTaskState(string poststr) { return(this.Visit(EnumUserRole.Admin, () => { // System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer(); List <PostChangeModel> post = new List <PostChangeModel>(); // post = jss.Deserialize<List<PostChangeModel>>(poststr); post = JsonConvert.DeserializeObject <List <PostChangeModel> >(poststr); tb_command_dal dal = new tb_command_dal(); tb_task_dal taskDal = new tb_task_dal(); using (DbConn PubConn = DbConn.CreateConn(Config.TaskConnectString)) { PubConn.Open(); foreach (PostChangeModel m in post) { m.state = m.state == 0 ? 1 : 0; if (taskDal.CheckTaskState(PubConn, m.id) == m.state) { string msg = m.state == 1 ? "已开启" : "已关闭"; return Json(new { code = -1, msg = msg }); } else { tb_command_model c = new tb_command_model() { command = "", commandcreatetime = DateTime.Now, commandname = m.state == (int)EnumTaskCommandName.StartTask ? EnumTaskCommandName.StartTask.ToString() : EnumTaskCommandName.StopTask.ToString(), taskid = m.id, nodeid = m.nodeid, commandstate = (int)EnumTaskCommandState.None }; dal.Add(PubConn, c); RedisHelper.SendMessage(new Core.Redis.RedisCommondInfo() { CommondType = Core.Redis.EnumCommondType.TaskCommand, NodeId = m.nodeid }); } } return Json(new { code = 1, data = post }); } })); }
public virtual tb_command_model CreateModel(DataRow dr) { var o = new tb_command_model(); // if (dr.Table.Columns.Contains("id")) { o.id = dr["id"].Toint(); } //命令json if (dr.Table.Columns.Contains("command")) { o.command = dr["command"].Tostring(); } //命令名,参考代码枚举 if (dr.Table.Columns.Contains("commandname")) { o.commandname = dr["commandname"].Tostring(); } //命令执行状态,参考代码枚举 if (dr.Table.Columns.Contains("commandstate")) { o.commandstate = dr["commandstate"].ToByte(); } //任务id if (dr.Table.Columns.Contains("taskid")) { o.taskid = dr["taskid"].Toint(); } //节点id if (dr.Table.Columns.Contains("nodeid")) { o.nodeid = dr["nodeid"].Toint(); } //命令创建时间 if (dr.Table.Columns.Contains("commandcreatetime")) { o.commandcreatetime = dr["commandcreatetime"].ToDateTime(); } return(o); }
public virtual bool Add(DbConn PubConn, tb_command_model model) { List <ProcedureParameter> Par = new List <ProcedureParameter>() { //命令json new ProcedureParameter("@command", model.command), //命令名,参考代码枚举 new ProcedureParameter("@commandname", model.commandname), //命令执行状态,参考代码枚举 new ProcedureParameter("@commandstate", model.commandstate), //任务id new ProcedureParameter("@taskid", model.taskid), //节点id new ProcedureParameter("@nodeid", model.nodeid), //命令创建时间 new ProcedureParameter("@commandcreatetime", model.commandcreatetime) }; int rev = PubConn.ExecuteSql(@"insert into tb_command(command,commandname,commandstate,taskid,nodeid,commandcreatetime) values(@command,@commandname,@commandstate,@taskid,@nodeid,@commandcreatetime)" , Par); return(rev == 1); }
public virtual bool Edit(DbConn PubConn, tb_command_model model) { List <ProcedureParameter> Par = new List <ProcedureParameter>() { //命令json new ProcedureParameter("@command", model.command), //命令名,参考代码枚举 new ProcedureParameter("@commandname", model.commandname), //命令执行状态,参考代码枚举 new ProcedureParameter("@commandstate", model.commandstate), //任务id new ProcedureParameter("@taskid", model.taskid), //节点id new ProcedureParameter("@nodeid", model.nodeid), //命令创建时间 new ProcedureParameter("@commandcreatetime", model.commandcreatetime) }; Par.Add(new ProcedureParameter("@id", model.id)); int rev = PubConn.ExecuteSql("update tb_command set command=@command,commandname=@commandname,commandstate=@commandstate,taskid=@taskid,nodeid=@nodeid,commandcreatetime=@commandcreatetime where id=@id", Par); return(rev == 1); }