12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using Edge.Core.Parser.BinaryParser.Attributes;
- using System.Collections.Generic;
- namespace PetroChinaOnlineWatchPlugin.MessageEntity.Incoming
- {
- public class IfsfMessageAckIn
- {
- [Format(1, EncodingType.BIN, -9890)]
- public byte DataIdentifier { get; set; }
- [Format(1, EncodingType.BIN, -9880)]
- [Range(0, 7, "Data ack must range in 0 to 7")]
- public byte DataAck { get; set; }
- public override string ToString()
- {
- return $"{DataIdentifier} {DataAck}";
- }
- }
- public class AckMessageMessageIn : MessageBase
- {
- [Format(2, EncodingType.BIN, -9930)]
- public int MessageLength { get; set; }
- [Format(1, EncodingType.BIN, -9920)]
- public int DatabaseAddressLength { get; set; }
- [EnumerableFormat("DatabaseAddressLength", -9910)]
- public List<byte> DatabaseAddress { get; set; }
- [Format(1, EncodingType.BIN, -9900)]
- [Range(0, 9, "Message ack must range in 0 to 9")]
- public byte MessageAck { get; set; }
- public int AckListLength { get { return MessageLength - 1 - DatabaseAddress.Count - 1; } }
- [EnumerableFormat("AckListLength", -9890)]
- public List<IfsfMessageAckIn> AckList { get; set; }
- public override string ToString()
- {
- string dbAddress = string.Empty;
- foreach (byte ad in DatabaseAddress)
- { dbAddress += " " + ad.ToString(); }
- string akList = string.Empty;
- foreach (var ak in AckList)
- { akList += " " + ak.ToString(); }
- return $"{MessageLength} {DatabaseAddressLength} {dbAddress} {MessageAck} {akList}";
- }
- }
- }
|