protected void Page_Load(object sender, EventArgs e)
        {
            int permisoMinimoPagina = 100;

            //Verifica si el usuario logeado tiene permisos suficiente parala pagina
            //En este caso es 100 (Administrador)
            if (!GestorSeguridad.TienePermisos((Usuario)Session["user"], permisoMinimoPagina))
            {
                Session["Pagina"] = "InformeViajes.aspx";
                Response.Redirect("Login.aspx");
            }


            if (!IsPostBack)
            {
                SelectCamion.DataSource     = GestorCamiones.listarCamiones();
                SelectCamion.DataValueField = "idCamion";
                SelectCamion.DataTextField  = "nroVehiculo";
                SelectCamion.DataBind();
                SelectCamion.Items.Add(new ListItem("Todos", "-1"));
                SelectCamion.SelectedValue = "-1";


                SelectChofer.DataSource     = GestorChoferes.listarChoferes();
                SelectChofer.DataValueField = "idChofer";
                SelectChofer.DataTextField  = "nombreChofer";
                SelectChofer.DataBind();
                SelectChofer.Items.Add(new ListItem("Todos", "-1"));
                SelectCamion.SelectedValue = "-1";
                CargarGrillaViajes();
            }
        }
        public void CargarGrillaCamiones()
        {
            GrillaCamiones.DataSource = (from camion in GestorCamiones.listarCamiones()
                                         orderby camion.FechaCompra
                                         select camion);

            GrillaCamiones.DataKeyNames = new string[] { "idCamion" };
            GrillaCamiones.DataBind();
        }
        protected void Buscar_Click(object sender, EventArgs e)
        {
            GrillaCamiones.DataSource = (from camion in GestorCamiones.buscarCamionPorPatente(BuscarPatente.Text)
                                         orderby camion.FechaCompra
                                         select camion);

            GrillaCamiones.DataKeyNames = new string[] { "idCamion" };
            GrillaCamiones.DataBind();
        }
        protected void GrillaCamiones_SelectedIndexChanged(object sender, EventArgs e)
        {
            Camion camion = GestorCamiones.buscarCamion(Int32.Parse(GrillaCamiones.SelectedDataKey.Value.ToString()));

            this.CargarDatosCamion(camion);
            formulario.Visible   = true;
            panel_grilla.Visible = false;
            titulo.InnerText     = "Modificar Camión";
            Eliminar.Visible     = true;
        }
        protected void Eliminar_Click(object sender, EventArgs e)
        {
            if (IdCamion.Text != "")
            {
                Mensaje.InnerText = GestorCamiones.eliminarCamion(Int32.Parse(IdCamion.Text));
                CargarGrillaCamiones();
            }
            else
            {
                Mensaje.InnerText = "Debe seleccionar un camion para eliminar";
            }

            LimpiarCampos();
            panel_grilla.Visible = true;
            formulario.Visible   = false;
        }
        protected void Guardar_Click(object sender, EventArgs e)
        {
            if (campos_validos())
            {
                Camion camion = new Camion();
                Marca  marca  = new Marca();
                camion.Patente     = Patente.Text;
                camion.Habilitado  = Habilitado.Checked;
                camion.FechaCompra = DateTime.ParseExact(FechaCompra.Text, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
                camion.NroVehiculo = Int32.Parse(NroVehiculo.Text);
                marca.IdMarca      = Int32.Parse(SelectMarca.SelectedValue);
                camion.Modelo      = Modelo.Text;
                camion.Marca       = marca;
                try
                {
                    if (IdCamion.Text != "")
                    {
                        camion.IdCamion   = Int32.Parse(IdCamion.Text);
                        Mensaje.InnerText = GestorCamiones.modificarCamion(camion);
                    }
                    else
                    {
                        Mensaje.InnerText = GestorCamiones.insertarCamion(camion);
                    }

                    CargarGrillaCamiones();
                    LimpiarCampos();
                    panel_grilla.Visible = true;
                    formulario.Visible   = false;
                }
                catch (Exception ex)
                {
                    Mensaje.InnerText = ex.Message;
                }
            }
            else
            {
                Mensaje.InnerText = "Datos incorrectos o incompletos!";
            }
        }