/// <summary> /// Actualiza la lista de documentos /// </summary> public void ActualizarDocumentos() { try { //SC_0008 SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, new UsuarioBO { Id = this.vista.UsuarioID }, new AdscripcionBO { Departamento = new DepartamentoBO(), Sucursal = new SucursalBO(), UnidadOperativa = new UnidadOperativaBO { Id = this.vista.UnidadAdscripcionID } }); //End SC_0008 ContratoFSLBO contrato = vista.UltimoObjeto; List <ArchivoBO> adjuntos = documentosPRE.Vista.ObtenerArchivos(); foreach (ArchivoBO adjuntoContratoBo in adjuntos) { adjuntoContratoBo.TipoAdjunto = ETipoAdjunto.ContratoFSL; } contrato.DocumentosAdjuntos = adjuntos; // Se agrega la Auditoria de cada uno de los documentos adjuntos foreach (ArchivoBO adjunto in contrato.DocumentosAdjuntos) { if (adjunto.Id == null) { adjunto.Auditoria = new AuditoriaBO { FC = contrato.FUA, UC = contrato.UUA, FUA = contrato.FUA, UUA = contrato.UUA }; } else { adjunto.Auditoria.FUA = contrato.FUA; adjunto.Auditoria.UUA = contrato.UUA; } } // Se actualiza el Contrato var contratoBR = new ContratoBR(); contratoBR.ActualizarDocumento(dataContext, contrato, vista.UltimoObjeto, seguridadBO);//SC_0008 vista.EstablecerPaqueteNavegacion(vista.Codigo, contrato); vista.IrADetalleContrato(); vista.MostrarMensaje("Se han actualizado los documentos del contrato exitosamente.", ETipoMensajeIU.EXITO); } catch (Exception ex) { vista.MostrarMensaje("Inconsistencia al actualizar los documentos del contrato", ETipoMensajeIU.ERROR, nombreClase + ".AgregarDocumentos:" + ex.Message); } }
public CambiarContratoSucursalPRE(ICambiarContratoSucursalVIS view) { if (view != null) { vista = view; } else { throw new Exception(nombreClase + ".CambiarContratoSucursalPRE: La vista no puede ser null"); } this.dataContext = FacadeBR.ObtenerConexion(); controlador = new ContratoBR(); }
/// <summary> /// Constructor del presentador /// </summary> /// <param name="view">Vista con la cual iteractuara el presentador</param> public ConsultarContratoSucursalPRE(IConsultarContratoSucursalVIS view) { try { if (view != null) { vista = view; } else { throw new Exception("La vista proporcionada no puede ser Nula."); } dataContext = FacadeBR.ObtenerConexion(); controlador = new ContratoBR(); } catch (Exception ex) { vista.MostrarMensaje("Inconsistencias en la construcción del presentador", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarContratoSucursalPRE: " + ex.Message); } }
/// <summary> /// Obtiene el Contrato que sera Editado /// </summary> private void ConsultarCompleto() { ContratoBO contrato = new ContratoProxyBO() { ContratoID = this.vista.ContratoId }; ContratoBO contratoCompleto = null; switch (this.vista.TipoContrato) { case ETipoContrato.RD: ContratoRDBR controladorRD = new ContratoRDBR(); var contratoRd = new ContratoRDBO((ContratoBO)contrato); var contratosRd = controladorRD.ConsultarCompleto(this.dataContext, contratoRd); contratoCompleto = contratosRd.FirstOrDefault(); this.controlador = new ContratoRDBR(); this.vista.ObjetoAnterior = contratoCompleto != null?controladorRD.ConsultarCompleto(this.dataContext, contratoRd).FirstOrDefault() : null; break; case ETipoContrato.FSL: ContratoFSLBR controladorFsl = new ContratoFSLBR(); var contratoFsl = new ContratoFSLBO() { ContratoID = this.vista.ContratoId }; var contratosFsl = controladorFsl.ConsultarCompleto(this.dataContext, contratoFsl); contratoCompleto = contratosFsl.FirstOrDefault(); this.controlador = new ContratoFSLBR(); this.vista.ObjetoAnterior = contratoCompleto != null?controladorFsl.ConsultarCompleto(this.dataContext, contratoFsl).FirstOrDefault() : null; break; case ETipoContrato.CM: case ETipoContrato.SD: ContratoManttoBR controladorMantto = new ContratoManttoBR(); var contratoMantto = new ContratoManttoBO((ContratoBO)contrato); var contratosMantto = controladorMantto.ConsultarCompleto(this.dataContext, contratoMantto, false); contratoCompleto = contratosMantto.FirstOrDefault(); this.controlador = new ContratoManttoBR(); this.vista.ObjetoAnterior = contratoCompleto != null?controladorMantto.ConsultarCompleto(this.dataContext, contratoMantto, false).FirstOrDefault() : null; break; default: contratoCompleto = null; break; } if (contratoCompleto != null) { this.vista.ContratoId = contratoCompleto.ContratoID; this.vista.NumeroContrato = contratoCompleto.NumeroContrato; this.vista.SucursalIdAntigua = contratoCompleto.Sucursal.Id; this.vista.SucursalNombreAntigua = contratoCompleto.Sucursal.Nombre; this.vista.TipoContrato = contratoCompleto.Tipo; this.vista.ContratoConsultado = contratoCompleto; } else { throw new Exception(nombreClase + ".ConsultarCompleto: No se encontro el Contrato solicitado"); } }
/// <summary> /// Cambia el contrato de Sucursal /// </summary> public void CambiarSucursal() { try { string s = this.ValidarCampos(); if (!String.IsNullOrEmpty(s)) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA); return; } ContratoBO contrato = (ContratoBO)InterfazUsuarioDato(); if (contrato == null) { throw new Exception("No se pudo obtener el contrato que sera cambiado de sucursal desde la interfaz"); } SeguridadBO seguridadBo = this.CrearObjetoSeguridad(); #region Conexion a BD Guid firma = Guid.NewGuid(); try { this.dataContext.OpenConnection(firma); this.dataContext.BeginTransaction(firma); } catch (Exception) { if (this.dataContext.ConnectionState == ConnectionState.Open) { this.dataContext.CloseConnection(firma); } throw new Exception("Se encontraron inconsistencias al Cambiar la Sucursal del Contrato."); } #endregion try { bool cambioExitoso = false; switch (this.vista.TipoContrato) { case ETipoContrato.RD: this.controlador = new ContratoRDBR(); cambioExitoso = ((ContratoRDBR)controlador).CambiarSucursalContrato(this.dataContext, (ContratoRDBO)contrato, (ContratoRDBO)this.vista.ObjetoAnterior, this.vista.Observaciones, seguridadBo); break; case ETipoContrato.FSL: this.controlador = new ContratoFSLBR(); cambioExitoso = ((ContratoFSLBR)controlador).CambiarSucursalContrato(this.dataContext, (ContratoFSLBO)contrato, (ContratoFSLBO)this.vista.ObjetoAnterior, this.vista.Observaciones, seguridadBo); break; case ETipoContrato.CM: case ETipoContrato.SD: this.controlador = new ContratoManttoBR(); cambioExitoso = ((ContratoManttoBR)controlador).CambiarSucursalContrato(this.dataContext, (ContratoManttoBO)contrato, (ContratoManttoBO)this.vista.ObjetoAnterior, this.vista.Observaciones, seguridadBo); break; } if (!cambioExitoso) { throw new Exception("Ocurrio un problema al cambiar El contrato y las Unidades de Sucursal"); } ModificarPagosBR modificarPagosBr = new ModificarPagosBR(); cambioExitoso = modificarPagosBr.CambiarPagosSucursal(this.dataContext, contrato, seguridadBo); if (!cambioExitoso) { throw new Exception("Ocurrio un problema al cambiar Los Pagos de Sucursal"); } this.dataContext.CommitTransaction(firma); this.vista.PermitirGuardar(false); this.vista.MostrarMensaje("El Contrato cambio de Sucursal con Éxito", ETipoMensajeIU.EXITO); } catch (Exception ex) { this.dataContext.RollbackTransaction(firma); throw; } finally { if (this.dataContext.ConnectionState == ConnectionState.Open) { this.dataContext.CloseConnection(firma); } } } catch (Exception ex) { throw new Exception(nombreClase + ".CambiarSucursal: " + ex.Message, ex.InnerException); } }
/// <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); } }