using Dfs.WayneChina.HengshanTerminalWrapper.MessageEntity.Base;
using Edge.Core.Parser.BinaryParser.Attributes;

namespace Dfs.WayneChina.HengshanTerminalWrapper.MessageEntity.Outgoing
{
    /// <summary>
    /// 0ABH-----  (补流水)
    /// 0FFH+02H+0BBH+校验;0BBH:表示无该流水
    /// 0FFH+0DH+0ABH+流水号2+加油量3+加油金额3+单价2+状态1+校验;;;KG WEI KG
    /// </summary>
    public class GetTransactionResponse : NonCardDispenserMessageTemplateBase
    {
        public enum 流水状态
        {
            无该流水,
            其他
        }
        public GetTransactionResponse()
        {
            CMD = 0xAB;
        }

        [Format(2, EncodingType.BIN, 1)]
        public int SequenceNo { get; set; }

        [Format(3, EncodingType.BCD, 3)]
        public int 加油量 { get; set; }

        [Format(3, EncodingType.BCD, 6)]
        public int 加油金额 { get; set; }

        [Format(2, EncodingType.BCD, 9)]
        public int 单价 { get; set; }

        [Format(1, EncodingType.BIN, 10)]
        public byte Status { get; set; }


        public 流水状态 SequenceStatus
        {
            get { return Status == 0xBB ? 流水状态.无该流水 : 流水状态.其他; }
            set
            {
                Status = (byte)(value == 流水状态.无该流水 ? 0xBB : 0x55);
            }
        }
    }
}