using Edge.Core.Parser.BinaryParser.Attributes;
using System.Collections.Generic;
namespace PetroChinaOnlineWatchPlugin.MessageEntity.Incoming
{
public class ReadMessageIn : 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 DatabaseAddress { get; set; }
public int DataIdentifierLength { get { return MessageLength - 1 - DatabaseAddressLength; } }
[EnumerableFormat("DataIdentifierLength", -9900)]
public List DataIdentifier { get; set; }
public override string ToString()
{
string dbAddress = string.Empty;
foreach (byte ad in DatabaseAddress)
{ dbAddress += " " + ad.ToString(); }
string dtIdentifier = string.Empty;
foreach (byte ad in DataIdentifier)
{ dtIdentifier += " " + ad.ToString(); }
return $"{MessageLength} {DatabaseAddressLength} {dbAddress} {dtIdentifier}";
}
}
}