using Edge.Core.Parser.BinaryParser.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Wayne_Pump_Dart.MessageEntity.Outgoing
{
    public class RequestTotalAmountCountersRequest : MessageBase
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="address"></param>
        /// <param name="blockSeqNumber"></param>
        /// <param name="logicalNozzleNumber">range from 0x01 to 0x08, 0x09 is asking for all nozzles</param>
        public RequestTotalAmountCountersRequest(byte address, byte blockSeqNumber, byte logicalNozzleNumber)
        {
            if (logicalNozzleNumber < 0x01 || logicalNozzleNumber > 0x09)
                throw new ArgumentException("logicalNozzleNumber must range from 0x01 to 0x09");
            base.Adrs = address;
            base.BlockSeqNumber = blockSeqNumber;
            base.ControlCharacter = ControlCharacter.DATA;
            base.TransactionDatas = new List<TransactionData>()
            {
                new TransactionData()
                {
                     TransactionNumber = 0x65,
                     RawData =  new List<byte>(){ (byte)(logicalNozzleNumber+0x10) }
                }
            };
        }
    }
}