public static Command CreateModel(DataRow dr) { Command cmd = new Command(); if (dr.Table.Columns.Contains("Id")) { cmd.Id = LibConvert.ObjToInt64(dr["Id"]); } if (dr.Table.Columns.Contains("TaskId")) { cmd.TaskId = LibConvert.ObjToInt64(dr["TaskId"]); } if (dr.Table.Columns.Contains("NodeId")) { cmd.NodeId = LibConvert.ObjToInt64(dr["NodeId"]); } if (dr.Table.Columns.Contains("CommandType")) { cmd.CommandType = (CommandType)LibConvert.ObjToInt(dr["CommandType"]); } if (dr.Table.Columns.Contains("CreateTime")) { cmd.CreateTime = LibConvert.ObjToDateTime(dr["CreateTime"]); } if (dr.Table.Columns.Contains("State")) { cmd.State = LibConvert.ObjToInt(dr["State"]); } return cmd; }
/// <summary> /// 执行命令 /// </summary> /// <param name="commandInfo"></param> public static void Execute(Command commandInfo) { switch (commandInfo.CommandType) { case CommandType.Start: StartTask(commandInfo); break; case CommandType.Stop: StopTask(commandInfo); break; default: LogHelper.WriteInfo("" + commandInfo.Id + "未识别的命令"); break; } }
public void Edit(string conn, Command cmd) { string sql = "UPDATE Command SET CommandType = @cmdtype,State=@state WHERE Id=@id"; SqlParameter[] paramters = new SqlParameter[] { new SqlParameter("@cmdtype",(int)cmd.CommandType), new SqlParameter("@state",cmd.State), new SqlParameter("@id",cmd.Id) }; SqlServerHelper.ExecuteNonQuery(conn, sql, paramters); }
public Command Get(string conn, long id) { Command cmd = new Command(); string sql = @"SELECT Id,TaskId,NodeId,CommandType,CreateTime,State FROM Command WHERE Id=@id"; SqlParameter[] paramters = new SqlParameter[] { new SqlParameter("@id", id) }; DataTable dt = SqlServerHelper.Get(conn, sql, paramters); if (dt.Rows.Count > 0) { cmd = Command.CreateModel(dt.Rows[0]); } else { cmd = null; } return cmd; }
private static void StopTask(Command cmd) { TaskProvider tp = new TaskProvider(); tp.Stop(cmd.TaskId); }