private Transaccion ObtenerTransaccionEnBaseUltimoEstado(int idTransaccion, TipoAccionOrden tipoAccionOrden) { int ultimoEstado = (int)EstadoTransacciones.Iniciada; if (tipoAccionOrden == TipoAccionOrden.ConfirmarRecepcion && ultimoEstado != (int)EstadoTransacciones.Iniciada) { return(null); } bool transaccionDebeActualizarse = false; switch (ultimoEstado) { case (int)EstadoTransacciones.Terminada: break; case (int)EstadoTransacciones.Cancelada: break; case (int)EstadoTransacciones.CanceladaPorVencimientoValidez: break; default: transaccionDebeActualizarse = true; break; } if (!transaccionDebeActualizarse) { return(null); } var transaccion = ObtenerTransaccionEnBd(idTransaccion); return(transaccion); }
private NovedadFIXDTO IntentarConfirmarRecepcionYConcertarOrden(int idTransaccion, string[] campos, string mensaje, TipoAccionOrden tipoAccionOrden) { try { if (campos[6] == string.Empty || campos[7] == string.Empty) { throw new Exception("Los campos del mensaje son inválidos"); } return(new NovedadFIXDTO { FechaConcertacion = DateTime.Parse(campos[2]), Cantidad = Convert.ToDecimal(campos[3]), Precio = Convert.ToDecimal(campos[4]), Partida = campos[5], IdTransaccionContraparte = campos[6], IdFix = campos[7], TipoAccionOrden = tipoAccionOrden, IdTransaccion = idTransaccion }); } catch (Exception ex) { string mensajeError = $"Error al intentar parser un mensaje sqs y concertar-mensaje:{mensaje}"; _interfacePresenter.MostrarMensaje(mensajeError); return(null); } }
private NovedadFIXDTO IntentarCancelarOrden(int idTransaccion, string fechaCancelacionString, string mensaje, TipoAccionOrden tipoAccionOrden) { bool fueExitoso = DateTime.TryParse(fechaCancelacionString, out var fechaCancelacion); if (!fueExitoso) { return(null); } return(new NovedadFIXDTO { FechaCancelacion = fechaCancelacion, IdTransaccion = idTransaccion, TipoAccionOrden = tipoAccionOrden }); }
private NovedadFIXDTO IntentarConfirmarRecepcionOrden(int idTransaccion, string[] campos, TipoAccionOrden tipoAccionOrden) { if (campos[2] == string.Empty || campos[3] == string.Empty) { throw new Exception("Los campos del mensaje son inválidos"); } return(new NovedadFIXDTO { IdTransaccion = idTransaccion, IdTransaccionContraparte = campos[2], IdFix = campos[3], TipoAccionOrden = tipoAccionOrden }); }