예제 #1
0
 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;
 }
예제 #2
0
 /// <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;
     }
 }
예제 #3
0
 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);
 }
예제 #4
0
 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;
 }
예제 #5
0
 private static void StopTask(Command cmd)
 {
     TaskProvider tp = new TaskProvider();
     tp.Stop(cmd.TaskId);
 }