public CheckTransactionResponseDto(IDictionary<string, string> getDataFromRequest)
{
if (getDataFromRequest.ContainsKey("trx_id"))
TransactionId = Convert.ToUInt64(getDataFromRequest["trx_id"]);
if (getDataFromRequest.ContainsKey("token"))
Token = getDataFromRequest["token"];
if (getDataFromRequest.ContainsKey("monto"))
Currency = new CurrencyDto(getDataFromRequest["monto"]);
if (getDataFromRequest.ContainsKey("medio_pago"))
PaymentMethod = getDataFromRequest["medio_pago"] == "999"
? null
: (PaymentMethod?)
Enum.Parse(typeof (PaymentMethod),
int.Parse(getDataFromRequest["medio_pago"]).ToString(
CultureInfo.InvariantCulture));
if (getDataFromRequest.ContainsKey("fecha_aprobacion"))
DateTimeAcceptance = DateTime.ParseExact(getDataFromRequest["fecha_aprobacion"], "yyyy-MM-ddTHH:mm:ss", null);
if (getDataFromRequest.ContainsKey("CardNumber"))
CardNumber = getDataFromRequest["CardNumber"];
if (getDataFromRequest.ContainsKey("num_cuotas"))
InstalmentNumber = getDataFromRequest["num_cuotas"];
if (getDataFromRequest.ContainsKey("tipo_cuotas"))
InstalmentType = getDataFromRequest["tipo_cuotas"];
if (getDataFromRequest.ContainsKey("valor_cuota"))
InstalmentAmount = new CurrencyDto(getDataFromRequest["valor_cuota"]);
if (getDataFromRequest.ContainsKey("primer_vencimiento"))
FirtsExpiration = DateTime.Parse(getDataFromRequest["primer_vencimiento"]);
if (getDataFromRequest.ContainsKey("numero_operacion"))
OperationNumber = getDataFromRequest["numero_operacion"];
if (getDataFromRequest.ContainsKey("codigo_autorizacion"))
AuthorizationCode = getDataFromRequest["codigo_autorizacion"];
if (getDataFromRequest.ContainsKey("respuesta"))
WithError = getDataFromRequest["respuesta"] != "00";
if (getDataFromRequest.ContainsKey("error"))
ErrorMessage = getDataFromRequest["error"];
}