/// <summary> /// Realiza la impresión del Histórico de Pagos para una referencia de Contrato Seleccionada /// </summary> public void ImprimirHistoricoPagos(int pagoId) { try { ReferenciaContratoBO referenciaContrato = new ReferenciaContratoBO(); if (this.Vista.UnidadOperativaID != (int)ETipoEmpresa.Idealease) { var pagoGN = Vista.PagosConsultadosPSL.Find(x => x.PagoContratoID == pagoId); referenciaContrato = pagoGN.ReferenciaContrato; } else { var pagoI = Vista.PagosConsultados.Find(x => x.PagoID == pagoId); referenciaContrato = pagoI.ReferenciaContrato; } // Validar la Información de la Referencia de Contrato Seleccionada Vista.ReferenciaContratoSeleccionada = referenciaContrato; var msg = ValidarDatosImprimirHistorico(Vista.ReferenciaContratoSeleccionada); if (!string.IsNullOrEmpty(msg)) { Vista.MostrarMensaje(msg, ETipoMensajeIU.ADVERTENCIA); return; } var referenciaBR = new ReferenciaContratoBR(); Vista.ReferenciaContratoSeleccionada = referenciaBR.Consultar(dataContext, Vista.ReferenciaContratoSeleccionada).FirstOrDefault(); // Crear Objeto de Seguridad var usuario = new UsuarioBO { Id = Vista.UC }; var adscripcion = new AdscripcionBO { UnidadOperativa = Vista.UnidadOperativa }; var seguridad = new SeguridadBO(Guid.Empty, usuario, adscripcion); //Obtener Datos de Reporte var imprmirPagosBR = new ImprimirPagosBR(); var datosReporte = imprmirPagosBR.ObtenerDatosHistoricoPagos(dataContext, Vista.ReferenciaContratoSeleccionada, Vista.UnidadOperativa, seguridad, this.Vista.URLLogoEmpresa); Vista.EstablecerPaqueteNavegacionImprimir(codigoImprimirHistorico, datosReporte); Vista.IrAImprimirHistorico(); } catch (Exception ex) { var strMetodo = new StackFrame().GetMethod().Name; var strMsg = string.Format("{0}.{1}: {2}", nombreClase, strMetodo, ex.Message); Vista.MostrarMensaje("Inconsistencias al imprimir el Histórico de Pagos", ETipoMensajeIU.ERROR, strMsg); } }
/// <summary> /// Realiza la Validación de los Datos de la Referencia de Contrato /// </summary> /// <param name="referencia">Referencia de Contrato que contiene la información a Validar</param> /// <returns></returns> private string ValidarDatosImprimirHistorico(ReferenciaContratoBO referencia) { if (referencia == null) { return("Proporcione una Referencia de Contrato"); } if (referencia.ReferenciaContratoID == null) { return("Proporcione el Identificador de la Referencia de Contrato"); } return(string.Empty); }
/// <summary> /// Realiza la impresión del Historico de Pagos para una referencia de Contrato Seleccionada /// </summary> public void ImprimirPagos() { try { var numeroContrato = Vista.NumeroContrato; // Validar la Informacion de la Referencia de Contrato Seleccionada var msg = ValidarDatos(numeroContrato); if (!string.IsNullOrEmpty(msg)) { Vista.MostrarMensaje(msg, ETipoMensajeIU.ADVERTENCIA); return; } // Validar la existencia de folio del contrato var contratoBR = new ContratoBR(); var contratos = contratoBR.Consultar(dataContext, new ContratoProxyBO { NumeroContrato = numeroContrato.ToUpper() }); if (!contratos.Any()) { Vista.MostrarMensaje("No existe un Contrato con el Folio proporcionado.", ETipoMensajeIU.ADVERTENCIA); return; } var referencia = contratos.First(); var usuario = new UsuarioBO { Id = Vista.UsuarioId }; var unidadOperativa = new UnidadOperativaBO { Id = Vista.UnidadOperativaId }; var sucursales = ConsultarSucursales(usuario, unidadOperativa); // Validar que el contrato pertenezca a una sucursal del usuario if (sucursales.All(x => x.Id != referencia.Sucursal.Id)) { Vista.MostrarMensaje("El Folio del Contrato proporcionado pertence a una sucursal no asignada al usuario.", ETipoMensajeIU.ADVERTENCIA); return; } // Validar la existencia de Pagos del Contrato int conteo = 0; ReferenciaContratoBO referenciaContrato = new ReferenciaContratoBO { ReferenciaContratoID = referencia.ContratoID, UnidadOperativa = unidadOperativa }; switch (referencia.Tipo) { case ETipoContrato.RO: case ETipoContrato.RE: case ETipoContrato.ROC: PagoContratoPSLBOF pagoPsl = new PagoContratoPSLBOF() { ReferenciaContrato = referenciaContrato, Sucursales = sucursales }; PagoContratoPSLBR pagosPslBR = new PagoContratoPSLBR(); conteo = pagosPslBR.ContarPagos(dataContext, pagoPsl); break; default: PagoUnidadContratoBOF pago = new PagoUnidadContratoBOF { ReferenciaContrato = referenciaContrato, Sucursales = sucursales }; PagoUnidadContratoBR pagosBR = new PagoUnidadContratoBR(); conteo = pagosBR.ContarPagos(dataContext, pago); break; } if (conteo == 0) { Vista.MostrarMensaje("El contrato no cuenta con pagos generados.", ETipoMensajeIU.ADVERTENCIA); return; } //Obtener Datos de Reporte var adscripcion = new AdscripcionBO { UnidadOperativa = unidadOperativa }; var seguridad = new SeguridadBO(Guid.Empty, usuario, adscripcion); var imprmirPagosBR = new ImprimirPagosBR(); var datosReporte = imprmirPagosBR.ObtenerDatosHistoricoPagos(dataContext, referenciaContrato, unidadOperativa, seguridad, this.Vista.URLLogoEmpresa); Vista.EstablecerPaqueteNavegacionImprimir(codigoImprimirHistorico, datosReporte); Vista.IrAImprimirHistorico(); } catch (Exception ex) { var strMetodo = new StackFrame().GetMethod().Name; var strMsg = string.Format("{0}.{1}: {2}", nombreClase, strMetodo, ex.Message); Vista.MostrarMensaje("Inconsistencias al Desplegar los Pagos del Contrato", ETipoMensajeIU.ERROR, strMsg); } }