using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Wayne.Lib.StateEngine;
using Wayne.Lib.StateEngine.Generic;
using WayneChina_IcCardReader_SinoChem.MessageEntity;
using WayneChina_IcCardReader_SinoChem.MessageEntity.Outgoing;

namespace SinochemInternetPlusApp.States.ICCardMode
{
    public class SendPaymentResult : SendCardReaderCommandBase
    {
        protected override int TimeoutInterval =>
            TimeoutValues.GetValueInMilliSec(TimeoutValues.FuelingPoint.ICCardMode_SendPaymentResult, 10);

        protected override IcCardReaderMessageBase CreateCommand()
        {
            int displayTO = ConfigurationValues.ICCardPaymentResultDisplayTimeoutInSeconds;

            TcpCardOnlinePaymentResultRequest request = null;            
            if (Main.CurrentEpsTrx.Model.trx_status == EpsTrxStatus.PaymentOk)
            {
                request = new TcpCardOnlinePaymentResultRequest(ICOnlinePayResult.Success, Main.CurrentEpsTrx.Model.real_pay_amount, displayTO, "");
            }
            else
            {
                request = new TcpCardOnlinePaymentResultRequest(ICOnlinePayResult.Failure, 0, displayTO, "内部错误");
            }

            return request;
        }
    }
}