1234567891011121314151617181920212223242526272829303132333435 |
- using Edge.Core.Parser.BinaryParser.Attributes;
- using Edge.Core.Parser.BinaryParser.Util;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace LanTian_Pump_664_Or_886.MessageEntity.Outgoing
- {
- public class ChangePriceRequest : MessageBase
- {
- /// <summary>
- ///
- /// </summary>
- /// <param name="newPriceWithoutDecimalPoint">664机型单价区为2字节</param>
- /// <param name="priceFieldLength">2 or 3</param>
- public ChangePriceRequest(int newPriceWithoutDecimalPoint, byte priceFieldLength)
- {
- if (priceFieldLength != 2 && priceFieldLength != 3)
- throw new ArgumentException("单价字段长度应为 2 or 3");
- if (priceFieldLength == 2
- && (newPriceWithoutDecimalPoint > 9999 || newPriceWithoutDecimalPoint <= 0))
- throw new ArgumentException("664机型单价区为2字节, so should range from 0 to 9999");
- if (priceFieldLength == 3
- && (newPriceWithoutDecimalPoint > 999999 || newPriceWithoutDecimalPoint <= 0))
- throw new ArgumentException("886机型单价区为3字节, so should range from 0 to 999999");
- this.BodyAndXRL = newPriceWithoutDecimalPoint.GetBCDBytes(priceFieldLength).ToList();
- // cmd byte
- this.BodyAndXRL.Add(0xB2);
- // add a place hold for XRL
- this.BodyAndXRL.Add(0);
- }
- }
- }
|