public async Task <BaseResponse <GetToken> > GetToken(IGetTokenRequest request)
        {
            var baseRequest = _baseRequestFactory.CreateBaseRequest(DateTime.Now, Utilities.Constants.RequestTypes.MultiUseToken,
                                                                    new MultiUseTokenRequestMessage(request));

            return(await _requestHandlerRepository.SendRequestAsync <BaseResponse <GetToken> >(baseRequest._requestMessage.GetResponseRootName(), baseRequest));
        }
 public MultiUseTokenRequestMessage(IGetTokenRequest request)
 {
     {
         PaymentAccountNumber = request.PaymentAccountNumber;
         ExpirationDate       = request.ExpirationDate.ToString("MMyy");
         MSRKey                      = request.MSRKey;
         SecureFormat                = request.SecureFormat;
         BDKSlot                     = request.BDKSlot;
         Track1                      = request.Track1;
         Track2                      = request.Track2;
         Track3                      = request.Track3;
         EncryptionId                = request.EncryptionId;
         DeviceMake                  = request.DeviceMake;
         DeviceModel                 = request.DeviceModel;
         DeviceSerial                = request.DeviceSerial;
         DeviceFirmware              = request.DeviceFirmware;
         RegistrationKey             = request.RegistrationKey;
         AppHostMachineId            = request.AppHostMachineId;
         IntegrationMethod           = request.IntegrationMethod;
         OriginatingTechnologySource = request.OriginatingTechnologySource;
         SoftwareVendor              = request.SoftwareVendor;
         SecurityTechnology          = request.SecurityTechnology;
         MerchantCode                = request.MerchantCode;
         MerchantAccountCode         = request.MerchantAccountCode;
     }
 }