public List<ReporteDevolucionesADA> ListarReporteDevolucionesADA(DateTime fechaInicio, DateTime fechaFin, int? codigoEntidad, EnumModalidades? modalidad, EnumMonedas? moneda, int? codigoCanal) { try { CGP.Reportes.Reportes.Reportes acceso = new CGP.Reportes.Reportes.Reportes(); char? charModalidad = modalidad.HasValue ? (char)modalidad : (char?)null; char? charEstado = (char)EnumEstadosTransaccionCGP.Registrada; int? intMoneda = moneda.HasValue ? (int)moneda : (int?)null; CGP.Reportes.Reportes.PC_Domiciliacion[] listado = acceso.ConsultarHistoricoADA(fechaInicio, fechaFin,null,null, codigoEntidad, charModalidad, intMoneda, charEstado, codigoCanal, null, null); List<ReporteDevolucionesADA> resultado = null; if (listado != null) { AccesoCanales accesoCanales = new AccesoCanales(); List<Canal> canales = accesoCanales.ListarCanales(null, null); AccesoMotivos accesoMotivos = new AccesoMotivos(); List<Motivo> motivos = accesoMotivos.ListarMotivos(null,null); resultado = new List<ReporteDevolucionesADA>(); for (int i = 0; i < listado.Length; i++) { CGP.Reportes.Reportes.PC_Domiciliacion tran = listado[i]; ReporteDevolucionesADA dev = new ReporteDevolucionesADA() { NumeroTransaccion = tran.NumeroOrden, TipoOperacion = (EnumTiposOperacion)tran.TipoOperacion, Canal = canales.Find(can => can.Codigo == tran.ID_Canal), //.HasValue ? // canales.Find(can => can.Codigo == tran.ID_Canal.Value) : // new Canal() { Nombre = "N/A" }, //CuentaClienteDestino = tran.CuentaCliente, IdClienteDestino = tran.CedulaPersona, NombreClienteDestino = String.Empty, Monto = tran.MontoHasta, Moneda = (EnumMonedas)tran.CodigoMoneda, CodigoMotivoRechazo = tran.CodigoMotivoRechazo, CuentaClienteOrigen = tran.CuentaClienteOrigen, IdClienteOrigen = tran.CedulaClienteOrigen, NombreClienteOrigen = tran.NombreClienteOrigen, CodigoReferencia = tran.CodReferencia, FechaHoraRegistro = tran.FechaRegistro, CodigoEntidadOrigen = tran.CodigoEntidad, // !String.IsNullOrEmpty(tran.CodigoEntidad.ToString()) ? Int32.Parse(tran.CodigoEntidad) : (int?)null, }; if (tran.CodigoMotivoRechazo.HasValue) { Motivo motivo = motivos.Find(mot => mot.CodigoMotivo == tran.CodigoMotivoRechazo.Value); dev.DescripcionMotivoRechazo = motivo != null ? motivo.DescripcionMotivo : String.Empty; } resultado.Add(dev); } } return resultado; } catch { throw; } }
/// <summary> /// Consulta: obtiene el detalle de la transaccion. /// </summary> /// <param name="numeroTransaccion"></param> /// <param name="tipoOperacion"></param> /// <returns></returns> public HistoricoDetalle ObtenerDetalleHistorico(int numeroTransaccion, EnumTiposOperacion tipoOperacion) { try { CGP.Reportes.Reportes.Reportes acceso = new CGP.Reportes.Reportes.Reportes(); CGP.Reportes.Reportes.PC_Transaccione tran = acceso.ConsultarTransaccion(numeroTransaccion, (char)tipoOperacion); HistoricoDetalle resultado = null; if (tran != null) { AccesoCanales accesoCanales = new AccesoCanales(); List<Canal> canales = accesoCanales.ListarCanales(null, null); AccesoMotivos accesoMotivos = new AccesoMotivos(); List<Motivo> motivos = accesoMotivos.ListarMotivos(null,null); String nomDestino = acceso.ConsultarNombreDestino(tran.CedulaPersona); resultado = new HistoricoDetalle() { Canal = tran.ID_Canal.HasValue ? canales.Find(can => can.Codigo == tran.ID_Canal.Value) : new Canal() { Nombre = "N/A" }, Modalidad = (EnumModalidades)tran.Modalidad, Estado = (EnumEstadosTransaccionCGP)tran.EstadoTran, CuentaClienteOrigen = tran.CuentaClienteOrigen, IdClienteOrigen = tran.CedulaClienteOrigen, NombreOrigen = tran.NombreClienteOrigen, CuentaClienteDestino = tran.CuentaCliente, IdClienteDestino = tran.CedulaPersona, NombreDestino = nomDestino, CodigoReferencia = tran.CodigoReferencia, FechaHoraRegistro = tran.FechaRegistro, FechaHoraAprueba = tran.FechaAprobacion, FechaHoraRechaza = tran.FechaAnulacion, Monto = tran.Monto, Moneda = (EnumMonedas)tran.CodigoMoneda, CodigoMotivoRechazo = tran.CodMotivoRechazo, Servicio = (EnumServicios)tran.CodigoServicio, DescripcionTransaccion = tran.DescripcionTran, UsuarioAprueba = tran.UsuarioAprueba, UsuarioRegistra = tran.UsuarioRegistra, UsuarioRechaza = tran.UsuarioAnula, Observacion = tran.TextoRechazo, }; if (tran.CodMotivoRechazo.HasValue) { Motivo motivo = motivos.Find(mot => mot.CodigoMotivo == tran.CodMotivoRechazo); if (motivo != null) resultado.DescripcionMotivoRechazo = motivo.DescripcionMotivo; } } return resultado; } catch { throw; } }
public HistoricoDetalleADA ObtenerDetalleHistoricoADAInterno(int numeroOrden, EnumTiposOperacion tipoOperacion) { try { CGP.Reportes.Reportes.Reportes acceso = new CGP.Reportes.Reportes.Reportes(); CGP.Reportes.Reportes.PC_DomiciliacionInterna dom = acceso.ConsultarADAinterno(numeroOrden, (char)tipoOperacion); HistoricoDetalleADA resultado = null; if (dom != null) { AccesoCanales accesoCanales = new AccesoCanales(); List<Canal> canales = accesoCanales.ListarCanales(null, null); AccesoMotivos accesoMotivos = new AccesoMotivos(); List<Motivo> motivos = accesoMotivos.ListarMotivos(null, null); resultado = new HistoricoDetalleADA() { Canal = canales.Find(can => can.Codigo == dom.ID_Canal), Modalidad = (EnumModalidades)dom.Modalidad, Estado = (EnumEstadosDomiciliacion)dom.EstadoOrden, IdClienteOrigen = dom.CedulaClienteOrigen, NombreOrigen = dom.NombreClienteOrigen, ConceptoPago = dom.NomNegocio, CodigoServicio = dom.NumeroServicio, TitularServicio = dom.NombrePersonaServ, CuentaClienteDestino = dom.CuentaCliente, IdClienteDestino = dom.CedulaPersona, NombreDestino = dom.NombreClienteDestino, CodigoReferencia = dom.CodReferencia, FechaHoraRegistro = dom.FechaRegistro, FechaHoraVencimiento = dom.FechaHasta, FechaHoraAprobacion = dom.FechaAprobacion, MontoMaximo = dom.MontoHasta, Moneda = (EnumMonedas)dom.CodigoMoneda, CodigoMotivoRechazo = dom.CodigoMotivoRechazo, UsuarioRegistra = dom.UsuarioRegistra, UsuarioAprueba = dom.UsuarioAprueba, }; if (dom.CodigoMotivoRechazo.HasValue) { Motivo motivo = motivos.Find(mot => mot.CodigoMotivo == dom.CodigoMotivoRechazo); if (motivo != null) resultado.DescripcionMotivoRechazo = motivo.DescripcionMotivo; } } return resultado; } catch { throw; } }