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