コード例 #1
0
        public void DesplegarResultadoBuscador(string catalogo, object selecto)
        {
            switch (catalogo)
            {
            case "Unidad":
                Equipos.BO.UnidadBO unidadBO = (Equipos.BO.UnidadBO)selecto;
                this.SeleccionarUnidad(unidadBO);

                if (selecto != null && (unidadBO.UnidadID != null))
                {
                    this.vista.NumeroSerie         = unidadBO.NumeroSerie ?? string.Empty;
                    this.vista.IntercambioUnidadID = unidadBO.UnidadID;
                    this.vista.IntercambioEquipoID = unidadBO.EquipoID;

                    //Obtenemos el modelo de la unidad
                    this.vista.ModeloNombre = ConsultarModeloUnidad(unidadBO.IDLider).ConfiguracionModeloMotorizacion.Modelo.Nombre;
                    this.vista.ECode        = unidadBO.NumeroEconomico;

                    //Obtiene los últimos valores de Combustible y Horómetro
                    ContratoPSLBR contratoPSLBR = new ContratoPSLBR();
                    List <Int32>  linea         = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidadBO.UnidadID, ETipoListadoVerificacion.RECEPCION);

                    int hrsInicial = 0;
                    if (linea.Count == 0)
                    {
                        hrsInicial = ObtenerHrsInicialEquipo(this.vista.NumeroSerie);
                    }

                    this.vista.PorcentajeCombustibleIntercambio = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0);
                    this.vista.HorometroUnidadIntercambio       = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(hrsInicial);
                }

                break;

            case "Modelo":
                BPMO.Servicio.Catalogos.BO.ModeloBO modelo = (BPMO.Servicio.Catalogos.BO.ModeloBO)selecto;

                if (modelo != null && modelo.Id != null)
                {
                    this.vista.ModeloID = modelo.Id;

                    UnidadBO unidadBo = new UnidadBO();
                    unidadBo.Modelo    = new Servicio.Catalogos.BO.ModeloBO();
                    unidadBo.Modelo.Id = modelo.Id;
                    List <UnidadBO> lstUnidades = controladorUnidades.ConsultarCompleto(this.dctx, unidadBo);
                    if (lstUnidades.Any())
                    {
                        unidadBo          = lstUnidades[0];
                        vista.NumeroSerie = unidadBo.NumeroSerie ?? string.Empty;
                        this.vista.IntercambioUnidadID = unidadBo.UnidadID;
                        this.vista.IntercambioEquipoID = unidadBo.EquipoID;
                        this.vista.ECode = unidadBo.NumeroEconomico;

                        ContratoPSLBR contratoPSLBR = new ContratoPSLBR();
                        List <Int32>  linea         = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidadBo.UnidadID, ETipoListadoVerificacion.RECEPCION);

                        int hrsInicial = 0;
                        if (linea.Count == 0)
                        {
                            hrsInicial = ObtenerHrsInicialEquipo(this.vista.NumeroSerie);
                        }

                        this.vista.PorcentajeCombustibleIntercambio = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0);
                        this.vista.HorometroUnidadIntercambio       = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(hrsInicial);
                    }
                    else
                    {
                        throw new Exception(this.nombreClase + ".DesplegarResultadoBuscador: no se puede usar este modelo de unidad para el intercambio ");
                    }
                }
                else
                {
                    this.vista.ModeloID = null;
                }

                if (modelo != null && modelo.Nombre != null)
                {
                    this.vista.ModeloNombre = modelo.Nombre;
                }
                else
                {
                    this.vista.ModeloNombre = null;
                }
                break;
            }
        }
コード例 #2
0
        public void ObtenerDatosUnidad()
        {
            if (this.vista.lstUnidades != null)
            {
                if (this.vista.lstUnidades.Count > 0)
                {
                    int?     equipoId = this.vista.EquipoID.Value != null ? this.vista.EquipoID.Value : 0;
                    UnidadBO unidad   = this.vista.lstUnidades.Where(r => r.EquipoID == this.vista.EquipoID).FirstOrDefault();

                    if (unidad == null)
                    {
                        throw new Exception("La unidad seleccionada no es valida. Favor de recargar el contrato.");
                    }

                    //revisamos que tenga checklist de recepción
                    ContratoPSLBO bo            = (ContratoPSLBO)this.vista.ObtenerPaqueteNavegacion("UltimoContratoPSLBO");
                    ContratoPSLBR contratoPSLBR = new ContratoPSLBR();

                    //Obtenemos el Horómetro
                    if (bo != null)
                    {
                        if (bo.LineasContrato != null)
                        {
                            LineaContratoPSLBO lineaContrato = (LineaContratoPSLBO)bo.LineasContrato.Where(r => r.Equipo.EquipoID == equipoId).FirstOrDefault();


                            //Verificamos que exista un checkList de recepción
                            if (lineaContrato.ListadosVerificacion.Count < 2)
                            {
                                bool existeEntrega = lineaContrato.ListadosVerificacion.Where(r => r.Tipo == ETipoListadoVerificacion.ENTREGA).Any();
                                if (existeEntrega)
                                {
                                    //Obtiene los últimos valores de Combustible y Horómetro
                                    List <Int32> linea = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidad.UnidadID, ETipoListadoVerificacion.ENTREGA);
                                    this.vista.PorcentajeUnidadCliente = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0);
                                    this.vista.HorometroUnidadCliente  = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(0);
                                }
                            }
                            else
                            {
                                bool existeRecepcion = lineaContrato.ListadosVerificacion.Where(r => r.Tipo == ETipoListadoVerificacion.RECEPCION).Any();
                                if (existeRecepcion)
                                {
                                    if (lineaContrato != null)
                                    {
                                        //LineaContratoPSLBO lineaContratoBO = new LineaContratoPSLBO();
                                        AVerificacionLineaPSLBO listado = lineaContrato.ObtenerListadoVerificacionPorTipo <AVerificacionLineaPSLBO>(ETipoListadoVerificacion.RECEPCION);

                                        //Obtiene los últimos valores de Combustible y Horómetro
                                        List <Int32> linea = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidad.UnidadID, ETipoListadoVerificacion.RECEPCION);
                                        this.vista.PorcentajeUnidadCliente = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0);
                                        this.vista.HorometroUnidadCliente  = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(0);
                                    }
                                }
                            }
                        }
                        else
                        {
                            throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden obtener líneas del contrato de esta unidad ");
                        }
                    }
                    else
                    {
                        throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden obtener datos del contrato ");
                    }

                    this.vista.ECodeCliente = unidad.NumeroEconomico;
                    //consultamos el modelo
                    this.vista.ModeloCliente = ConsultarModeloUnidad(unidad.IDLider).ConfiguracionModeloMotorizacion.Modelo.Nombre;
                    this.vista.EquipoID      = unidad.EquipoID;
                    this.vista.UnidadID      = unidad.UnidadID;
                    this.vista.SucursalID    = unidad.Sucursal.Id;
                }
            }
            else
            {
                throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden determinar la unidad del contrato ");
            }
        }