public ConsultarContratoManttoPRE(IConsultarContratoManttoVIS view, IucHerramientasManttoVIS viewHerramientas) { try { this.vista = view; this.presentadorHerramientas = new ucHerramientasManttoPRE(viewHerramientas); dctx = FacadeBR.ObtenerConexion(); this.controlador = new ContratoManttoBR(); } catch (Exception ex) { vista.MostrarMensaje("Inconsistencias en la construcción del presentador", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarContratoManttoPRE: " + ex.Message); } }
/// <summary> /// Constructor por defecto del presentador /// </summary> /// <param name="view">Vista de Registro</param> /// <param name="viewDatosContrato">Vista de Datos de Contrato</param> /// <param name="viewDocumentos">Vista del Control de Documentos</param> /// <param name="viewHerramientas">Vista de la Barra de Herramienta</param> public RegistrarContratoManttoPRE(IRegistrarContratoManttoVIS view, IucContratoManttoVIS viewDatosContrato, IucLineaContratoManttoVIS viewLinea, IucCatalogoDocumentosVIS viewDocumentos) { try { this.vista = view; this.presentadorDatosContrato = new ucContratoManttoPRE(viewDatosContrato, viewLinea); this.presentadorDocumentos = new ucCatalogoDocumentosPRE(viewDocumentos); this.controlador = new ContratoManttoBR(); this.dctx = FacadeBR.ObtenerConexion(); } catch (Exception ex) { this.vista.MostrarMensaje("Inconsistencia en los parámetros de configuración", ETipoMensajeIU.ERROR, this.nombreClase + ".ucContratoManttoPRE:" + ex.Message); } }
public CancelarContratoManttoPRE(ICancelarContratoManttoVIS vistaActual, IucHerramientasManttoVIS vistaHerramientas, IucContratoManttoVIS vistaContrato, IucLineaContratoManttoVIS vistaLinea) { try { this.vista = vistaActual; this.presentadorContrato = new ucContratoManttoPRE(vistaContrato, vistaLinea); this.presentadorHerramientas = new ucHerramientasManttoPRE(vistaHerramientas); this.controlador = new ContratoManttoBR(); this.dctx = FacadeBR.ObtenerConexion(); } catch (Exception ex) { this.vista.MostrarMensaje("Inconsistencia en los parámetros de configuración", ETipoMensajeIU.ERROR, this.nombreClase + ".CancelarContratoManttoPRE:" + ex.Message); } }
/// <summary> /// Constructor del presentador para la edición de los contratos de mantenimiento /// </summary> /// <param name="vista">vista de la edición del contrato de mantenimiento</param> /// <param name="viewHerramientas">Vista del user control correspondiente a la barra de herramientas</param> /// <param name="viewContrato">Vista del user control general</param> /// <param name="viewLinea">Vista de l user control de linea de contrato</param> /// <param name="viewDocumentos">Vista del user control de documnetos</param> public EditarContratoManttoPRE(IEditarContratoManttoVIS vista, IucHerramientasManttoVIS viewHerramientas, IucContratoManttoVIS viewContrato, IucLineaContratoManttoVIS viewLinea, IucCatalogoDocumentosVIS viewDocumentos) { try { if (ReferenceEquals(vista, null)) { throw new Exception("La vista asociada no puede ser nula"); } this.vista = vista; this.controlador = new ContratoManttoBR(); this.dctx = FacadeBR.ObtenerConexion(); this.presentadorDatos = new ucContratoManttoPRE(viewContrato, viewLinea); this.presentadorDocumentos = new ucCatalogoDocumentosPRE(viewDocumentos); this.presentadorHerramientas = new ucHerramientasManttoPRE(viewHerramientas); } catch (Exception ex) { this.vista.MostrarMensaje("Inconsistencia al crear el presentador", ETipoMensajeIU.ERROR, string.Format("{0}.EditarContratoManttoPRE:{1}{2}", nombreClase, Environment.NewLine, ex.Message)); } }
/// <summary> /// Determina si es posible generar el pago adicional del contrato /// </summary> /// <returns>Devuelve la inconsitencia encontrada para genera el pago adicional</returns> private string ValidarPagoAdicional() { if (this.vista.TipoContrato == null) { return("No se ha seleccionado del Departamento del Contrato"); } if (this.vista.SucursalID == null) { return("No se ha seleccionado la Sucursal del Contrato"); } if (String.IsNullOrEmpty(this.vista.FolioContrato)) { return("No se ha introducido el Folio del Contrato"); } ContratoBO contratoBo = null; List <ContratoBO> contratos = new List <ContratoBO>(); switch (vista.TipoContrato) { case ETipoContrato.RD: contratoBo = new ContratoRDBO { NumeroContrato = vista.FolioContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosRD = new ContratoRDBR().Consultar(this.dctx, (ContratoRDBO)contratoBo); contratos.AddRange(contratosRD); break; case ETipoContrato.FSL: contratoBo = new ContratoFSLBO { NumeroContrato = vista.FolioContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosFsl = new ContratoFSLBR().Consultar(this.dctx, (ContratoFSLBO)contratoBo); contratos.AddRange(contratosFsl); break; case ETipoContrato.CM: case ETipoContrato.SD: contratoBo = new ContratoManttoBO { NumeroContrato = vista.FolioContrato, Tipo = vista.TipoContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosMantto = new ContratoManttoBR().Consultar(this.dctx, (ContratoManttoBO)contratoBo); contratos.AddRange(contratosMantto); break; } if (!contratos.Any()) { return("No se encontró el Contrato solicitado"); } switch (vista.TipoContrato) { case ETipoContrato.RD: var contratoRD = contratos.FirstOrDefault() as ContratoRDBO; if (!String.IsNullOrEmpty(TiempoMaximoRecepcionRD)) { if (DateTime.Now < contratoRD.FechaPromesaDevolucion.Value.AddHours(int.Parse(TiempoMaximoRecepcionRD))) { return("Deben pasar al menos " + TiempoMaximoRecepcionRD + " hrs para poder generar un pago adicional después de la Fecha de Promesa de Devolución."); } } break; } this.vista.ContratoID = contratos.FirstOrDefault().ContratoID; PagoUnidadContratoBO pagoBo = new PagoUnidadContratoBOF { ReferenciaContrato = new ReferenciaContratoBO() { ReferenciaContratoID = this.vista.ContratoID } }; PagoUnidadContratoBR pagoBr = new PagoUnidadContratoBR(); var pagos = pagoBr.Consultar(this.dctx, (PagoUnidadContratoBO)pagoBo); if (!pagos.Any()) { return("No se han generado Pagos para el Contrato"); } var ultimoPago = pagos.Last(x => x.Activo.Value); if (ultimoPago.EnviadoFacturacion != null && !ultimoPago.EnviadoFacturacion.Value) { return("No se ha Facturado el Último Pago Activo del Contrato"); } this.ultimoPagoContrato = ultimoPago; return(null); }
/// <summary> /// Metodo que genera el pago adicional /// </summary> public void GenerarPagoAdicional() { try { string validacion = this.ValidarPagoAdicional(); if (!String.IsNullOrEmpty(validacion)) { this.vista.MostrarMensaje("No se puede generar el pago Adicional: " + validacion, ETipoMensajeIU.INFORMACION); return; } ContratoBO contratoBo = null; IGeneradorPagosBR generadorPagos = null; SeguridadBO seguridadBo = this.CrearObjetoSeguridad(); List <ContratoBO> contratos = new List <ContratoBO>(); switch (vista.TipoContrato) { case ETipoContrato.RD: contratoBo = new ContratoRDBO { ContratoID = this.vista.ContratoID }; var contratosRd = new ContratoRDBR().ConsultarCompleto(this.dctx, (ContratoRDBO)contratoBo, false); contratos.AddRange(contratosRd); generadorPagos = new GeneradorPagoRDBR(); break; case ETipoContrato.FSL: contratoBo = new ContratoFSLBO { ContratoID = this.vista.ContratoID }; var contratosFsl = new ContratoFSLBR().ConsultarCompleto(this.dctx, (ContratoFSLBO)contratoBo); contratos.AddRange(contratosFsl); generadorPagos = new GeneradorPagosFSLBR(); break; case ETipoContrato.CM: case ETipoContrato.SD: contratoBo = new ContratoManttoBO { ContratoID = this.vista.ContratoID }; var contratosMantto = new ContratoManttoBR().ConsultarCompleto(this.dctx, (ContratoManttoBO)contratoBo, true, false); contratos.AddRange(contratosMantto); generadorPagos = new GeneradorPagosManttoBR(); break; } if (generadorPagos == null) { throw new Exception("No se pudo determinar el Tipo del Pago a Generar."); } generadorPagos.GenerarPagoAdicional(this.dctx, contratos.First(), (ultimoPagoContrato.NumeroPago.Value + 1), seguridadBo, false, true); PagoUnidadContratoBO pagoBo = new PagoUnidadContratoBOF { ReferenciaContrato = new ReferenciaContratoBO() { ReferenciaContratoID = this.vista.ContratoID } }; PagoUnidadContratoBR pagoBr = new PagoUnidadContratoBR(); var pagos = pagoBr.Consultar(this.dctx, (PagoUnidadContratoBO)pagoBo); this.Inicializar(); this.vista.MostrarMensaje("El pago " + pagos.Last().NumeroPago.ToString() + " con Fecha " + pagos.Last().FechaVencimiento.Value.ToShortDateString() + " se ha Creado con Éxito.", ETipoMensajeIU.EXITO); } catch (Exception ex) { this.vista.MostrarMensaje("Error al generar el pago Adicional", ETipoMensajeIU.ERROR, NombreClase + ".GenerarPagoAdicional: " + ex.GetBaseException().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> /// Consulta la información completa del contrato para su despliegue en la vista /// </summary> private void ConsultarCompleto() { try { var bo = (ContratoManttoBO)this.InterfazUsuarioADato(); var temp = new ContratoManttoBO(); if (bo.ContratoID.HasValue) { temp.ContratoID = bo.ContratoID.Value; } else { temp = bo; } List <ContratoManttoBO> lst = new ContratoManttoBR().Consultar(this.dctx, temp); if (lst.Count < 1) { throw new Exception("No se encontró ningún registro que corresponda a la información proporcionada."); } if (lst.Count > 1) { throw new Exception("La consulta devolvió más de un registro."); } var contrato = new ContratoManttoBO(); if (lst != null && lst.Count > 0) { contrato = lst[0]; } var tipoContrato = ETipoAdjunto.ContratoMantenimiento; if (contrato != null) { if (contrato.Tipo.HasValue) { switch (contrato.Tipo.Value) { case ETipoContrato.CM: tipoContrato = ETipoAdjunto.ContratoMantenimiento; break; case ETipoContrato.SD: tipoContrato = ETipoAdjunto.ContratoServicioDedicado; break; } } } lst[0].DocumentosAdjuntos = new ArchivoBR().Consultar(this.dctx, new ArchivoBO() { Activo = true, TipoAdjunto = tipoContrato }, contrato.ContratoID.Value); this.DatoAInterfazUsuario(lst[0]); this.vista.UltimoObjeto = lst[0]; } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoManttoBO()); throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message); } }