示例#1
0
        private void ConsultarCompleto()
        {
            Hashtable parameters = new Hashtable();

            try
            {
                //Inicializamos lista global de unidades y posterior a la consulta la agregamos al objeto.
                //Para mas adelante actualizar los datos de Oracle.
                this.vista.lstUnidades = null;
                List <BO.UnidadBO> lst = ConsultarCompletoPRE();
                this.vista.lstUnidades = lst;
                BO.UnidadBO unidadConsultada = lst.First();

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

                #region SC0006 - Adición de datos de siniestro
                parameters["UnidadBO"]          = lst[0];
                parameters["SiniestroUnidadBO"] = this.RecuperarHistorialSiniestro(lst[0]);
                this.DatoAInterfazUsuario(parameters);
                #endregion

                //Se obtiene los archivos de orden de compra
                ArrendamientoBO arrendamiento = unidadConsultada.ObtenerArrendamientoVigente();

                this.vista.ArchivosOC = arrendamiento.Adjuntos;
            }
            catch (Exception ex)
            {
                #region SC0006 - Adición de datos de siniestro
                parameters["UnidadBO"] = new BO.UnidadBO();
                this.DatoAInterfazUsuario(parameters);
                #endregion
                throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message);
            }
        }
示例#2
0
        private void DatoAInterfazUsuario(IDictionary parameters)
        {
            ArrendamientoBO boArrendamiento = new ArrendamientoBO();

            if (!parameters.Contains("UnidadBO") || !(parameters["UnidadBO"] is UnidadBO))
            {
                return;
            }

            UnidadBO bo = (UnidadBO)parameters["UnidadBO"];

            #region Inicialización de Propiedades
            if (bo.ActivoFijo == null)
            {
                bo.ActivoFijo = new ActivoFijoBO();
            }

            if (bo.CaracteristicasUnidad == null)
            {
                bo.CaracteristicasUnidad = new CaracteristicasUnidadBO();
            }
            if (bo.CaracteristicasUnidad.Ejes == null)
            {
                bo.CaracteristicasUnidad.Ejes = new List <EjeBO>();
            }
            if (bo.CaracteristicasUnidad.Motor == null)
            {
                bo.CaracteristicasUnidad.Motor = new MotorBO();
            }
            if (bo.CaracteristicasUnidad.SistemaElectrico == null)
            {
                bo.CaracteristicasUnidad.SistemaElectrico = new SistemaElectricoBO();
            }
            if (bo.CaracteristicasUnidad.Transmision == null)
            {
                bo.CaracteristicasUnidad.Transmision = new TransmisionBO();
            }

            if (bo.Cliente == null)
            {
                bo.Cliente = new ClienteBO();
            }
            if (bo.EquiposAliados == null)
            {
                bo.EquiposAliados = new List <EquipoAliadoBO>();
            }

            if (bo.NumerosSerie == null)
            {
                bo.NumerosSerie = new List <NumeroSerieBO>();
            }

            if (bo.Llantas == null)
            {
                bo.LimpiarLlantas();
            }


            if (bo.Mediciones == null)
            {
                bo.Mediciones = new MedicionesBO();
            }
            if (bo.Mediciones.Horometros == null)
            {
                bo.Mediciones.Horometros = new List <HorometroBO>();
            }
            if (bo.Mediciones.Odometros == null)
            {
                bo.Mediciones.Odometros = new List <OdometroBO>();
            }


            if (bo.Modelo == null)
            {
                bo.Modelo = new ModeloBO();
            }
            if (bo.Modelo.Marca == null)
            {
                bo.Modelo.Marca = new MarcaBO();
            }
            if (bo.Sucursal == null)
            {
                bo.Sucursal = new SucursalBO();
            }
            if (bo.Sucursal.UnidadOperativa == null)
            {
                bo.Sucursal.UnidadOperativa = new UnidadOperativaBO();
            }


            if (bo.TipoEquipoServicio == null)
            {
                bo.TipoEquipoServicio = new TipoUnidadBO();
            }

            if (bo.Arrendamientos == null)
            {
                bo.Arrendamientos = new List <ArrendamientoBO>();
            }

            if (bo.Pedimentos == null)
            {
                bo.Pedimentos = new List <ArchivoBO>();
            }

            #endregion

            this.vista.EquipoID    = bo.EquipoID;
            this.vista.UnidadID    = bo.UnidadID;
            this.vista.NumeroSerie = bo.NumeroSerie;

            this.vista.NumerosSerie = bo.NumerosSerie;

            this.vista.ClaveActivoOracle = bo.ClaveActivoOracle;
            this.vista.LiderID           = bo.IDLider;
            this.vista.Anio             = bo.Anio;
            this.vista.ModeloNombre     = bo.Modelo.Nombre;
            this.vista.ModeloId         = bo.Modelo.Id;
            this.vista.MarcaId          = bo.Modelo.Marca.Id;
            this.vista.NumeroEconomico  = bo.NumeroEconomico;
            this.vista.TipoUnidadNombre = bo.TipoEquipoServicio.Nombre;
            this.vista.FechaCompra      = bo.ActivoFijo.FechaFacturaCompra;
            this.vista.MontoFactura     = bo.ActivoFijo.CostoSinIva;


            if (bo.Area != null)
            {
                ETipoEmpresa tipoEmpresa;
                tipoEmpresa = (ETipoEmpresa)this.vista.UnidadOperativaId;

                if (tipoEmpresa != null)
                {
                    switch (tipoEmpresa)
                    {
                    case ETipoEmpresa.Construccion:
                        EAreaConstruccion tipoRentaConstruccion = (EAreaConstruccion)bo.Area;
                        this.vista.Area = tipoRentaConstruccion;
                        if (tipoRentaConstruccion == EAreaConstruccion.RE)
                        {
                            boArrendamiento                     = bo.ObtenerArrendamientoVigente();
                            this.vista.ProveedorID              = boArrendamiento.Proveedor.Id; //En lugar del propietario, va el proveedor id, el control debe de obtener la información.
                            this.vista.OrdenCompraProveedor     = boArrendamiento.NumeroOrdenCompra;
                            this.vista.MontoArrendamiento       = boArrendamiento.MontoArrendamiento;
                            this.vista.CodigoMoneda             = boArrendamiento.CodigoMoneda;
                            this.vista.FechaInicioArrendamiento = boArrendamiento.FechaInicioArrendamiento;
                            this.vista.FechaFinArrendamiento    = boArrendamiento.FechaFinArrendamiento;
                            this.vistaPagina1.OcultarControlesRE(true);
                        }
                        else
                        {
                            if ((tipoRentaConstruccion == EAreaConstruccion.RO || tipoRentaConstruccion == EAreaConstruccion.ROC) && bo.EstatusActual != null &&
                                bo.EstatusActual == EEstatusUnidad.Terminada)
                            {
                                this.vista.HabilitaBoton(false, "E");
                                this.vistaPagina1.OcultarControlesRE(false);
                            }
                        }
                        this.vista.Cliente            = bo.Cliente.Nombre;
                        this.vista.ClienteId          = bo.Cliente.Id;
                        this.vista.SucursalNombre     = bo.Sucursal.Nombre;
                        this.vista.SucursalId         = bo.Sucursal.Id;
                        vistaPagina1.UnidadBloqueada  = bo.EquipoBloqueado;
                        this.vista.EntraMantenimiento = bo.EntraMantenimiento;
                        this.vistaPagina1.EstablecerEntraMantenimeinto();
                        this.vista.Archivos = bo.ObtenerPedimento();

                        break;

                    case ETipoEmpresa.Generacion:
                        EAreaGeneracion tipoRentaGeneracion = (EAreaGeneracion)bo.Area;
                        this.vista.Area = tipoRentaGeneracion;
                        if (tipoRentaGeneracion == EAreaGeneracion.RE)
                        {
                            boArrendamiento                     = bo.ObtenerArrendamientoVigente();
                            this.vista.ProveedorID              = boArrendamiento.Proveedor.Id; //En lugar del propietario, va el proveedor id, el control debe de obtener la información.
                            this.vista.OrdenCompraProveedor     = boArrendamiento.NumeroOrdenCompra;
                            this.vista.MontoArrendamiento       = boArrendamiento.MontoArrendamiento;
                            this.vista.CodigoMoneda             = boArrendamiento.CodigoMoneda;
                            this.vista.FechaInicioArrendamiento = boArrendamiento.FechaInicioArrendamiento;
                            this.vista.FechaFinArrendamiento    = boArrendamiento.FechaFinArrendamiento;
                            this.vistaPagina1.OcultarControlesRE(true);
                        }
                        else
                        {
                            if ((tipoRentaGeneracion == EAreaGeneracion.RO || tipoRentaGeneracion == EAreaGeneracion.ROC) && bo.EstatusActual != null &&
                                bo.EstatusActual == EEstatusUnidad.Terminada)
                            {
                                this.vista.HabilitaBoton(false, "E");
                                this.vistaPagina1.OcultarControlesRE(false);
                            }
                        }
                        this.vista.Cliente            = bo.Cliente.Nombre;
                        this.vista.ClienteId          = bo.Cliente.Id;
                        this.vista.SucursalNombre     = bo.Sucursal.Nombre;
                        this.vista.SucursalId         = bo.Sucursal.Id;
                        vistaPagina1.UnidadBloqueada  = bo.EquipoBloqueado;
                        this.vista.EntraMantenimiento = bo.EntraMantenimiento;
                        this.vistaPagina1.EstablecerEntraMantenimeinto();
                        this.vista.Archivos = bo.ObtenerPedimento();

                        break;

                    case ETipoEmpresa.Equinova:
                        EAreaEquinova tipoRentaEquinova = (EAreaEquinova)bo.Area;
                        this.vista.Area = tipoRentaEquinova;
                        if (tipoRentaEquinova == EAreaEquinova.RE)
                        {
                            boArrendamiento                     = bo.ObtenerArrendamientoVigente();
                            this.vista.ProveedorID              = boArrendamiento.Proveedor.Id; //En lugar del propietario, va el proveedor id, el control debe de obtener la información.
                            this.vista.OrdenCompraProveedor     = boArrendamiento.NumeroOrdenCompra;
                            this.vista.MontoArrendamiento       = boArrendamiento.MontoArrendamiento;
                            this.vista.CodigoMoneda             = boArrendamiento.CodigoMoneda;
                            this.vista.FechaInicioArrendamiento = boArrendamiento.FechaInicioArrendamiento;
                            this.vista.FechaFinArrendamiento    = boArrendamiento.FechaFinArrendamiento;
                            this.vistaPagina1.OcultarControlesRE(true);
                        }
                        else
                        {
                            if ((tipoRentaEquinova == EAreaEquinova.RO || tipoRentaEquinova == EAreaEquinova.ROC) && bo.EstatusActual != null &&
                                bo.EstatusActual == EEstatusUnidad.Terminada)
                            {
                                this.vista.HabilitaBoton(false, "E");
                                this.vistaPagina1.OcultarControlesRE(false);
                            }
                        }
                        this.vista.Cliente            = bo.Cliente.Nombre;
                        this.vista.ClienteId          = bo.Cliente.Id;
                        this.vista.SucursalNombre     = bo.Sucursal.Nombre;
                        this.vista.SucursalId         = bo.Sucursal.Id;
                        vistaPagina1.UnidadBloqueada  = bo.EquipoBloqueado;
                        this.vista.EntraMantenimiento = bo.EntraMantenimiento;
                        this.vistaPagina1.EstablecerEntraMantenimeinto();
                        this.vista.Archivos = bo.ObtenerPedimento();

                        break;

                    default:
                        this.vista.Area              = (EArea)bo.Area;
                        this.vista.SucursalNombre    = bo.Sucursal.Nombre;
                        this.vista.SucursalId        = bo.Sucursal.Id;
                        this.vista.Cliente           = bo.Cliente.Nombre;
                        this.vista.ClienteId         = bo.Cliente.Id;
                        this.vista.FabricanteNombre  = bo.Fabricante;
                        vistaPagina1.UnidadBloqueada = bo.EquipoBloqueado;

                        #region SC0002

                        this.vista.EntraMantenimiento = bo.EntraMantenimiento;
                        this.vistaPagina1.EstablecerEntraMantenimeinto();
                        #endregion

                        break;
                    }
                }
            }

            this.vista.Propietario = bo.Propietario;

            //RQM 14150, datos técnicos, modificación de la visualización
            if (!this.vista.ValoresTabs.Contains("1"))
            {
                this.presentadorPagina2.AgregarHorometros(bo.Mediciones.Horometros);
                this.presentadorPagina2.AgregarOdometros(bo.Mediciones.Odometros);
                this.vista.CapacidadTanque      = bo.CaracteristicasUnidad.CapacidadTanque;
                this.vista.RendimientoTanque    = bo.CaracteristicasUnidad.RendimientoTanque;
                this.vista.PBCMaximoRecomendado = bo.CaracteristicasUnidad.PBCMaximoRecomendado;
                this.vista.PBVMaximoRecomendado = bo.CaracteristicasUnidad.PBVMaximoRecomendado;
            }

            //RQM 14150, números de serie, modificación de la visualización
            if (!this.vista.ValoresTabs.Contains("2"))
            {
                //
                this.presentadorPagina3.AgregarNumerosSerie(bo.NumerosSerie);
                //************************************************************

                this.vista.Radiador           = bo.CaracteristicasUnidad.Radiador;
                this.vista.PostEnfriador      = bo.CaracteristicasUnidad.PostEnfriador;
                this.vista.SerieCompresorAire = bo.CaracteristicasUnidad.Motor.SerieCompresorAire;
                this.vista.SerieECM           = bo.CaracteristicasUnidad.Motor.SerieECM;

                #region SC0030

                this.vista.SerieMotor = bo.CaracteristicasUnidad.Motor.SerieMotor;

                #endregion

                this.vista.SerieTurboCargador = bo.CaracteristicasUnidad.Motor.SerieTurboCargador;
                this.vista.SerieAlternador    = bo.CaracteristicasUnidad.SistemaElectrico.SerieAlternador;
                this.vista.SerieBaterias      = bo.CaracteristicasUnidad.SistemaElectrico.SerieBaterias;
                this.vista.SerieMarcha        = bo.CaracteristicasUnidad.SistemaElectrico.SerieMarcha;
                this.vista.TransmisionModelo  = bo.CaracteristicasUnidad.Transmision.Modelo;
                this.vista.TransmisionSerie   = bo.CaracteristicasUnidad.Transmision.Serie;

                EjeBO eje = bo.CaracteristicasUnidad.ObtenerEjePorPosicion(EPosicionEje.Delantero);
                if (eje != null)
                {
                    this.vista.EjeDireccionModelo = eje.Modelo;
                    this.vista.EjeDireccionSerie  = eje.Serie;
                }

                eje = bo.CaracteristicasUnidad.ObtenerEjePorPosicion(EPosicionEje.TraseroDelantero);
                if (eje != null)
                {
                    this.vista.EjeTraseroDelanteroModelo = eje.Modelo;
                    this.vista.EjeTraseroDelanteroSerie  = eje.Serie;
                }

                eje = bo.CaracteristicasUnidad.ObtenerEjePorPosicion(EPosicionEje.TraseroTrasero);
                if (eje != null)
                {
                    this.vista.EjeTraseroTraseroModelo = eje.Modelo;
                    this.vista.EjeTraseroTraseroSerie  = eje.Serie;
                }
            }

            //RQM 14150, Llantas, modificación de la visualización
            if (!this.vista.ValoresTabs.Contains("3"))
            {
                this.vista.EnllantableID          = bo.EnllantableID;
                this.vista.TipoEnllantable        = (int)bo.TipoEnllantable;
                this.vista.DescripcionEnllantable = bo.DescripcionEnllantable;
                this.presentadorPagina4.AgregarLlantas(bo.ObtenerLlantas());
                LlantaBO refaccion = bo.ObtenerRefaccion();
                if (refaccion == null)
                {
                    refaccion = new LlantaBO()
                    {
                        EsRefaccion = true
                    }
                }
                ;
                if (refaccion.Auditoria == null)
                {
                    refaccion.Auditoria = new AuditoriaBO();
                }
                if (refaccion.Sucursal == null)
                {
                    refaccion.Sucursal = new SucursalBO();
                }
                this.vista.RefaccionSucursalID     = refaccion.Sucursal.Id;
                this.vista.RefaccionSucursalNombre = refaccion.Sucursal.Nombre;
                this.vista.RefaccionID             = refaccion.LlantaID;
                this.vista.RefaccionCodigo         = refaccion.Codigo;
                this.vista.RefaccionMarca          = refaccion.Marca;
                this.vista.RefaccionModelo         = refaccion.Modelo;
                this.vista.RefaccionActivo         = refaccion.Activo;
                this.vista.RefaccionFC             = refaccion.Auditoria.FC;
                this.vista.RefaccionFUA            = refaccion.Auditoria.FUA;
                this.vista.RefaccionMedida         = refaccion.Medida;
                this.vista.RefaccionProfundidad    = refaccion.Profundidad;
                this.vista.RefaccionRevitalizada   = refaccion.Revitalizada;
                this.vista.RefaccionStock          = refaccion.Stock;
                this.vista.RefaccionUC             = refaccion.Auditoria.UC;
                this.vista.RefaccionUUA            = refaccion.Auditoria.UUA;
            }

            //RQM 14150, Equipos Aliados, modificación de la visualización
            if (!this.vista.ValoresTabs.Contains("4"))
            {
                this.presentadorPagina5.AgregarEquiposAliado(bo.EquiposAliados);
            }

            this.vista.EstatusUnidad = bo.EstatusActual;
            if (bo.EstatusActual != null && bo.EstatusActual != EEstatusUnidad.NoDisponible)
            {
                this.vista.MostrarActaNacimientoOriginal(true);
            }
            else
            {
                this.vista.MostrarActaNacimientoOriginal(false);
            }

            //RQM 14150, tramites, modificación de la visualización
            this.presentadorPagina6.CargarTramites(bo.TramitableID, bo.TipoTramitable, bo.DescripcionTramitable);

            this.presentadorPagina7.DesplegarInformacion(bo);

            #region SC0006 - Adición de datos de siniestro
            List <SiniestroUnidadBO> historial = parameters.Contains("SiniestroUnidadBO") && parameters["SiniestroUnidadBO"] is List <SiniestroUnidadBO>?(List <SiniestroUnidadBO>)parameters["SiniestroUnidadBO"] : null;
            this.presentadorPagina7.DesplegarInformacionSiniestro(historial);
            #endregion

            this.presentadorActaOriginal.CargarActaNacimiento(bo.ActaNacimiento);
        }