private DirectiveResult ParsePausingResultData(byte[] bytes) { var ret = new DirectiveResult(); if (!DirectiveHelper.IsValidationResult(bytes, ((DirectiveTypeEnum)bytes[1]).GetFeedbackLength())) { ret.Status = false; return(ret); } ret.Status = true; var data = new PumpDirectiveData(); data.DeviceId = bytes[0]; data.DirectiveType = (DirectiveTypeEnum)bytes[1]; data.TimeInterval = (int)DirectiveHelper.Parse2BytesToNumber(bytes.Skip(2).Take(2).ToArray()); data.FlowRate = DirectiveHelper.Parse2BytesToNumber(bytes.Skip(4).Take(2).ToArray()); data.DeviceStatus = bytes.Skip(6).Take(1).FirstOrDefault(); data.DirectiveId = (int)DirectiveHelper.Parse2BytesToNumber(bytes.Skip(7).Take(2).ToArray()); data.DeviceType = TargetDeviceTypeEnum.Pump; ret.SourceDirectiveType = DirectiveTypeEnum.Pausing; ret.Data = data; return(ret); }
private DirectiveResult ParseTryStartResultData(byte[] bytes) { var ret = new DirectiveResult(); if (!DirectiveHelper.IsValidationResult(bytes, ((DirectiveTypeEnum)bytes[1]).GetFeedbackLength())) { ret.Status = false; return(ret); } ret.Status = true; var data = new PumpDirectiveData(); data.DeviceId = bytes[0]; data.DirectiveType = (DirectiveTypeEnum)bytes[1]; data.DirectiveId = (int)DirectiveHelper.Parse2BytesToNumber(bytes.Skip(2).Take(2).ToArray()); data.DeviceType = TargetDeviceTypeEnum.Pump; ret.SourceDirectiveType = DirectiveTypeEnum.TryStart; ret.Data = data; return(ret); }