public bool PermitirQuitarOdometro(OdometroBO odometro)
        {
            if (odometro != null && odometro.OdometroID == null)
            {
                return(true);
            }

            return(false);
        }
        /// <summary>
        /// Despliega los datos de la unidad a la interfaz
        /// </summary>
        /// <param name="unidad"></param>
        private void DatosAInterfazUsuario(UnidadBO unidad)
        {
            UnidadBO consultada = ObtenerUnidad(unidad);

            if (consultada == null)
            {
                throw new Exception("No se ha proporcionado una unidad a agregar");
            }

            vista.UnidadID = consultada.UnidadID;

            vista.EquipoID = consultada.EquipoID;

            vista.VIN = !string.IsNullOrEmpty(consultada.NumeroSerie) ? consultada.NumeroSerie : string.Empty;

            vista.NumeroEconocimico = !string.IsNullOrEmpty(consultada.NumeroEconomico) ? consultada.NumeroEconomico : string.Empty;

            vista.Anio = consultada.Anio;

            if (consultada.Modelo == null)
            {
                consultada.Modelo = new ModeloBO();
            }
            vista.Modelo = consultada.Modelo.Nombre;

            if (consultada.CaracteristicasUnidad != null)
            {
                vista.PBC = consultada.CaracteristicasUnidad.PBCMaximoRecomendado;
                vista.PBV = consultada.CaracteristicasUnidad.PBVMaximoRecomendado;
            }

            if (consultada.Mediciones != null && consultada.Mediciones.Odometros != null)
            {
                int?primerOdometroID = consultada.Mediciones.Odometros.Min(o => o.OdometroID);

                if (primerOdometroID != null)
                {
                    OdometroBO odometro = consultada.Mediciones.Odometros.Find(odo => odo.OdometroID == primerOdometroID);

                    if (odometro != null)
                    {
                        vista.KmInicial = odometro.KilometrajeInicio;
                    }
                }
            }

            vista.ListadoEquiposAliados = consultada.EquiposAliados;
        }
        protected void grvOdometros_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            try
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    OdometroBO o = e.Row.DataItem != null ? (OdometroBO)e.Row.DataItem : new OdometroBO();

                    ((ImageButton)e.Row.FindControl("imgDelete")).Visible = this.presentador.PermitirQuitarOdometro(o);
                }
            }
            catch (Exception ex)
            {
                this.MostrarMensaje("Inconsistencia al desplegar el odómetro", ETipoMensajeIU.ERROR, this.nombreClase + ".grvOdometros_RowDataBound:" + ex.Message);
            }
        }
        public void AgregarOdometro()
        {
            string s;

            if ((s = this.ValidarCamposOdometro()) != null)
            {
                this.vista.MostrarMensaje(s, ETipoMensajeIU.INFORMACION, null);
                return;
            }

            try
            {
                List <OdometroBO> odometros = this.vista.Odometros;

                OdometroBO odometro = new OdometroBO();
                odometro.Activo            = this.vista.EsOdometroActivo;
                odometro.KilometrajeInicio = this.vista.ValorInicialOdometro;
                odometro.KilometrajeFin    = this.vista.ValorFinalOdometro;

                if (this.vista.Odometros == null)
                {
                    this.vista.Odometros = new List <OdometroBO>();
                }

                if (odometro.Activo != null && odometro.Activo == true)
                {
                    foreach (OdometroBO o in this.vista.Odometros)
                    {
                        o.Activo = false;
                    }
                }

                odometros.Insert(0, odometro);

                this.AgregarOdometros(odometros);

                this.vista.PrepararNuevoOdometro();
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".AgregarOdometro: " + ex.Message);
            }
        }