using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace VeederRoot_ATG_Console.MessageEntity.Outgoing
{
///
/// i|I607
///
public class SetTankDiameterRequest : OutgoingMessageBase
{
///
///
///
///
/// 0 indicates all tanks
/// by inches and hundredths
public SetTankDiameterRequest(MessageFormat messageFormat
, int tankNumber, double diameterInches)
: base(messageFormat, FuncCode.SetTankDiameter,
tankNumber.ToString())
{
if (tankNumber < 0 || tankNumber > 99) throw new ArgumentOutOfRangeException("Valid tank number is range from 0 to 99");
base.DataField = new List();
if (messageFormat == MessageFormat.Computer)
base.DataField.AddRange(
Encoding.ASCII.GetBytes(
Util.ConvertDoubleToIEEE4Bytes(diameterInches).Select(b => b.ToString("X2")).Aggregate((acc, n) => acc + n)));
else
base.DataField.AddRange(Encoding.ASCII.GetBytes(diameterInches.ToString()));
}
}
}