private Task GetDuiShiTask(ITaskManage iTaskManage) { Task task = new Task(); task.MeterMac = this.MAC; task.TaskDate = DateTime.Now; task.TaskID = Guid.NewGuid().ToString(); //用于和指令进行进行关联 task.TaskState = TaskState.Waitting; task.TaskType = TaskType.TaskType_校时; //点火任务(DH),换表登记(HB)、开阀(KF)、关阀(GF)、充值(CZ)、调整价格(TJ) Command cmd = new Command(); //1.校时 byte ser = this.meter.LastTopUpSer; // Convert.ToByte(new Random().Next(0, 255)); DataItem_A015 item_A015 = new DataItem_A015(ser); // cmd.TaskID = task.TaskID; cmd.Identification = ((UInt16)item_A015.IdentityCode).ToString("X2"); cmd.ControlCode = (byte)ControlCode.WriteData;//写操作 cmd.DataLength = Convert.ToByte(item_A015.Length); cmd.DataCommand = MyDataConvert.BytesToHexStr(item_A015.GetBytes()); cmd.Order = 1; task.CommandList.Add(cmd); iTaskManage.SetDuiShiTask(task, cmd); return(task); }
public ExecuteCommand(Command cmd, Task task, ITaskManage iTaskManage) { this._cmd = cmd; this._task = task; this._iTaskManage = iTaskManage; }