Exemple #1
0
        private void ConsultarCompleto()
        {
            try
            {
                ContratoRDBO bo = (ContratoRDBO)this.InterfazUsuarioADato();

                List <ContratoRDBO> lst = new ContratoRDBR().Consultar(this.dctx, bo);

                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.");
                }

                lst[0].DocumentosAdjuntos = new ArchivoBR().Consultar(this.dctx, new ArchivoBO()
                {
                    Activo = true, TipoAdjunto = ETipoAdjunto.ContratoRD
                }, lst[0].ContratoID);

                this.DatoAInterfazUsuario(lst[0]);
                this.vista.UltimoObjeto = lst[0];
            }
            catch (Exception ex)
            {
                this.DatoAInterfazUsuario(new ContratoRDBO());
                throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message);
            }
        }
        /// <summary>
        /// Valida que el operador que se desea editar no se encuentre en un contrato que este actualmente EN CURSO
        /// </summary>
        /// <returns>Mensaje informando el estatus del operador.</returns>
        public string ValidarUsoContrato()//SC_0051
        {
            if (!this.vista.OperadorID.HasValue)
            {
                throw new Exception("Es necesario especificar el identificador del operador que deseas modificar.");
            }

            ContratoRDBR ctrl = new ContratoRDBR();

            var contratoBOF = new ContratoRDBOF {
                Operador = new OperadorBO {
                    OperadorID = this.vista.OperadorID
                }
            };

            contratoBOF.EstatusContrato = new List <EEstatusContrato>();
            contratoBOF.EstatusContrato.Add(EEstatusContrato.EnCurso);
            contratoBOF.EstatusContrato.Add(EEstatusContrato.EnPausa);
            contratoBOF.EstatusContrato.Add(EEstatusContrato.Borrador);

            var lstContratos = ctrl.Consultar(dctx, contratoBOF);

            if (lstContratos.Count > 0)
            {
                return(string.Format(@"Actualmente el operador esta siendo usado en el contrato # {0} con estatus ""{1}""", lstContratos[0].NumeroContrato, lstContratos[0].EstatusText));
            }

            return(null);
        }
Exemple #3
0
 public ConsultarListadoVerificacionPRE(IConsultarListadoVerificacionVIS vista)
 {
     if (ReferenceEquals(vista, null))
     {
         throw new Exception(String.Format("{0}: La vista proporcionada no puede ser nula", nombreClase));
     }
     this.vista       = vista;
     this.controlador = new ContratoRDBR();
     this.dctx        = FacadeBR.ObtenerConexion();
 }
Exemple #4
0
 /// <summary>
 /// Imprime la plantilla del contrato
 /// </summary>
 /// CU014
 public void ImprimirPlantillaContratoRD()
 {
     try
     {
         ContratoRDBR      contratoBR = new ContratoRDBR();
         AppSettingsReader n          = new AppSettingsReader();
         int moduloID = Convert.ToInt32(n.GetValue("ModuloID", System.Type.GetType("System.Int32")));
         Dictionary <string, Object> datosImprimir = contratoBR.ObtenerPlantillaContrato(dataContext, moduloID, this.vista.UnidadAdscripcionID.Value);
         vista.EstablecerPaqueteNavegacionImprimir("CU014", datosImprimir);
         vista.IrAImprimir();
     }
     catch (Exception ex)
     {
         throw new Exception(nombreClase + ".ImprimirPlantillaContratoRD:Inconsistencia al intentar cargar los datos a imprimir." + ex.Message);
     }
 }
Exemple #5
0
        /// <summary>
        /// Constructor por defecto del Presentador
        /// </summary>
        /// <param name="view">Vista de Registro de Contrato</param>
        /// <param name="viewDatosContrato">Vista de los Datos del Contrato</param>
        /// <param name="viewDocumentos">Vista del Control de Documentos</param>
        public RegistrarContratoRDPRE(IRegistrarContratoRDVIS view, IucContratoRDVIS viewDatosContrato, IucCatalogoDocumentosVIS viewDocumentos)
        {
            try
            {
                this.vista = view;

                this.presentadorDatosContrato = new ucContratoRDPRE(viewDatosContrato);
                this.presentadorDocumentos    = new ucCatalogoDocumentosPRE(viewDocumentos);

                this.controlador = new ContratoRDBR();
                this.dctx        = FacadeBR.ObtenerConexion();
            }
            catch (Exception ex)
            {
                this.vista.MostrarMensaje("Inconsistencia en los parámetros de configuración", ETipoMensajeIU.ERROR, this.nombreClase + ".RegistrarContratoRDPRE:" + ex.Message);
            }
        }
 public CambiarFrecuenciaContratosRDPRE(ICambiarFrecuenciaContratosRDVIS view)
 {
     if (view == null)
     {
         throw new Exception(nombreClase + ".CambiarFrecuenciaContratosRDPRE: La vista usada no puede ser NULL");
     }
     try
     {
         this.vista = view;
         this.controladorContrato = new ContratoRDBR();
         this.controladorPagos    = new PagoUnidadContratoRDBR();
         this.dataContext         = FacadeBR.ObtenerConexion();
     }
     catch (Exception ex)
     {
         throw new Exception(nombreClase + ".CambiarFrecuenciaContratosRDPRE: Ocurrio un problema al obtener la informacion Inicial", ex.InnerException);
     }
 }
Exemple #7
0
        /// <summary>
        /// Constructor que recibe la vista sobre la que actuará el presentador
        /// </summary>
        /// <param name="vistaActual">vista sobre la que actuará el presentador</param>
        /// <param name="vistaHerramientas">Vista de la barra de herramientas</param>
        /// <param name="vistaInfoContrato">Vista de la Informacion General</param>
        /// <param name="vistadg">Vista de los datos generales de la unidad</param>
        /// <param name="vistaea">Vista de los datos de los equipos aliados</param>
        public CancelarContratoRDPRE(ICancelarContratoRDVIS vistaActual, IucHerramientasRDVIS vistaHerramientas, IucResumenContratoRDVIS vistaInfoContrato, IucDatosGeneralesElementoVIS vistadg, IucEquiposAliadosUnidadVIS vistaea)
        {
            try
            {
                this.vista = vistaActual;

                this.presentadorResumen      = new ucResumenContratoRDPRE(vistaInfoContrato);
                this.presentadorDG           = new ucDatosGeneralesElementoPRE(vistadg);
                this.presentadorEA           = new ucEquiposAliadosUnidadPRE(vistaea);
                this.presentadorHerramientas = new ucHerramientasRDPRE(vistaHerramientas);

                this.controlador = new ContratoRDBR();
                this.dctx        = FacadeBR.ObtenerConexion();
            }
            catch (Exception ex)
            {
                this.vista.MostrarMensaje("Inconsistencia en los parámetros de configuración", ETipoMensajeIU.ERROR, this.nombreClase + ".CancelarContratoRDPRE:" + ex.Message);
            }
        }
        /// <summary>
        /// Constructor del presentador
        /// </summary>
        /// <param name="view">Vista con la cual iteractuara el presentador</param>
        public ConsultarCambioFrecuenciaRDPRE(IConsultarCambioFrecuenciaRDVIS view)
        {
            try
            {
                if (view != null)
                {
                    vista = view;
                }
                else
                {
                    throw new Exception("La vista proporcionada no puede ser Nula.");
                }

                dataContext = FacadeBR.ObtenerConexion();
                controlador = new ContratoRDBR();
            }
            catch (Exception ex)
            {
                vista.MostrarMensaje("Inconsistencias en la construcción del presentador", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarCambioFrecuenciaRDPRE: " + ex.Message);
            }
        }
        /// <summary>
        /// Constructor que recibe la vista sobre la que actuará el presentador
        /// </summary>
        /// <param name="vistaActual">vista sobre la que actuará el presentador</param>
        /// <param name="herramientas">Presentador de la barra de herramientas</param>
        /// <param name="infoContrato">Presentador de la Informacion General</param>
        /// <param name="vistadg">Vista de los datos generales de la unidad</param>
        /// <param name="vistaea">Vista de los datos de los equipos aliados</param>
        public DetalleContratoRDPRE(IDetalleContratoRDVIS view, IucHerramientasRDVIS vistaHerramientas, IucResumenContratoRDVIS vistaInfoContrato, IucDatosGeneralesElementoVIS vistadg, IucEquiposAliadosUnidadVIS vistaea, IucCatalogoDocumentosVIS viewDocsContrato, IucCatalogoDocumentosVIS viewDocsEntrega, IucCatalogoDocumentosVIS viewDocsRecepcion)
        {
            try
            {
                this.vista = view;

                this.presentadorResumen             = new ucResumenContratoRDPRE(vistaInfoContrato);
                this.presentadorDG                  = new ucDatosGeneralesElementoPRE(vistadg);
                this.presentadorEA                  = new ucEquiposAliadosUnidadPRE(vistaea);
                this.presentadorHerramientas        = new ucHerramientasRDPRE(vistaHerramientas);
                this.presentadorDocumentosContrato  = new ucCatalogoDocumentosPRE(viewDocsContrato);
                this.presentadorDocumentosEntrega   = new ucCatalogoDocumentosPRE(viewDocsEntrega);
                this.presentadorDocumentosRecepcion = new ucCatalogoDocumentosPRE(viewDocsRecepcion);

                this.controlador = new ContratoRDBR();
                this.dctx        = FacadeBR.ObtenerConexion();
            }
            catch (Exception ex)
            {
                this.vista.MostrarMensaje("Inconsistencia en los parámetros de configuración", ETipoMensajeIU.ERROR, this.nombreClase + ".CerrarContratoRDPRE:" + ex.Message);
            }
        }
 public void ImprimirPagare()
 {
     try
     {
         if (this.vista.ContratoID == null)
         {
             throw new Exception("No se puede imprimir el pagaré sin el identificador del contrato");
         }
         ContratoRDBR controlador = new ContratoRDBR();
         Dictionary <string, Object> datosPagare = controlador.ObtenerDatosPagare(FacadeBR.ObtenerConexion(), new ContratoRDBO()
         {
             ContratoID = this.vista.ContratoID
         });
         vista.EstablecerPaqueteNavegacion("NombreReporte", "CU094");
         vista.EstablecerPaqueteNavegacion("DatosReporte", datosPagare);
         vista.RedirigirAImprimir();
     }
     catch (Exception ex)
     {
         throw new Exception("DetalleContratoRDPRE.ImprimirPagare: " + ex.Message);
     }
 }
Exemple #11
0
 /// <summary>
 /// Genera el reporte para la impresión de la plantilla del Check List
 /// </summary>
 public void ImprimirPlantillaCheckListRD()
 {
     try
     {
         ContratoRDBR      contratoBR = new ContratoRDBR();
         AppSettingsReader n          = new AppSettingsReader();
         int moduloID = Convert.ToInt32(n.GetValue("ModuloID", typeof(int)));
         Dictionary <string, Object> datosImprimir = contratoBR.ObtenerPlantillaCheckList(dataContext, new ContratoRDBO {
             Sucursal = new SucursalBO {
                 UnidadOperativa = new UnidadOperativaBO {
                     Id = this.vista.UnidadAdscripcionID.Value
                 }
             }
         }, moduloID);
         vista.EstablecerPaqueteNavegacionImprimir("CU012", datosImprimir);
         vista.IrAImprimir();
     }
     catch (Exception ex)
     {
         throw new Exception(nombreClase + ".ImprimirPlantillaCheckListRD: Inconsistencia al intentar cargar los datos a imprimir." + ex.Message);
     }
 }
Exemple #12
0
        /// <summary>
        /// Constructor del presentador
        /// </summary>
        /// <param name="vistaActual">Vista Actual</param>

        public ConsultarContratoRDPRE(IConsultarContratoRDVIS vistaActual, ucHerramientasRDPRE herramientas)
        {
            try
            {
                if (vistaActual != null)
                {
                    vista = vistaActual;
                }
                else
                {
                    throw new Exception("La vista proporcionada no puede ser nula.");
                }

                HerramientasPRE = herramientas;

                dataContext = Facade.SDNI.BR.FacadeBR.ObtenerConexion();
                Controlador = new ContratoRDBR();
            }
            catch (Exception ex)
            {
                vista.MostrarMensaje("Inconsistencias en la construcción del presentador", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarContratosFSLPRE: " + 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");
            }
        }