using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ProjectManagementSystem.Device.CasunBox { public class InfoBox : InfoBase { public int Route { get; set; } public int Status { get; set; } public int LightStatus { get; set; } public bool Called { get { return Status == 0x41; } } public bool CancelCall { get { return Status == 0x42; } } public override InfoBase Deserialize(byte[] data) { if (data[0] == 0x10 && data.Length == 14) { EBoxDevice = EnumBoxDevice.CallBox; byte function = data[1]; switch (function) { case 0x41: case 0x42: Route = (data[6] << 8) + data[7] - 0x3030; Status = function; break; default: break; } LightStatus = 0; } else if (data[0] == 0x20 && data.Length == 16) { EBoxDevice = EnumBoxDevice.WarningLight; Route = data[14]; LightStatus = data[4]; Status = 0; } LastUpdateTime = DateTime.Now; return this; } } }