private void Modificar()
    {
        Int32 ANIO = Convert.ToInt32(HiddenField_ANIO.Value);
        Decimal ID_REGIONAL = Convert.ToDecimal(HiddenField_ID_REGIONAL.Value);
        String ID_CIUDAD = HiddenField_ID_CIUDAD.Value;

        Decimal P_ENERO = Convert.ToDecimal(TextBox_PresupuestoEnero.Text);
        Decimal P_FEBRERO = Convert.ToDecimal(TextBox_PresupuestoFebrero.Text);
        Decimal P_MARZO = Convert.ToDecimal(TextBox_PresupuestoMarzo.Text);
        Decimal P_ABRIL = Convert.ToDecimal(TextBox_PresupuestoAbril.Text);
        Decimal P_MAYO = Convert.ToDecimal(TextBox_PresupuestoMayo.Text);
        Decimal P_JUNIO = Convert.ToDecimal(TextBox_PresupuestoJunio.Text);
        Decimal P_JULIO = Convert.ToDecimal(TextBox_PresupuestoJulio.Text);
        Decimal P_AGOSTO = Convert.ToDecimal(TextBox_PresupuestoAgosto.Text);
        Decimal P_SEPTIEMBRE = Convert.ToDecimal(TextBox_PresupuestoSeptiembre.Text);
        Decimal P_OCTUBRE = Convert.ToDecimal(TextBox_PresupuestoOctubre.Text);
        Decimal P_NOVIEMBRE = Convert.ToDecimal(TextBox_PresupuestoNoviembre.Text);
        Decimal P_DICIEMBRE = Convert.ToDecimal(TextBox_PresupuestoDiciembre.Text);

        Presupuesto _presupuesto = new Presupuesto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Boolean correcto = _presupuesto.AdicionarActualizarPresupuestosAniosCiudad(ANIO, ID_CIUDAD, P_ENERO, P_FEBRERO, P_MARZO, P_ABRIL, P_MAYO, P_JUNIO, P_JULIO, P_AGOSTO, P_SEPTIEMBRE, P_OCTUBRE, P_NOVIEMBRE, P_DICIEMBRE);

        if (correcto == true)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La información para el año y ciudad seleccioanda se actualizaron correctamente.", Proceso.Correcto);

            CargarInterfazDespuesDeUpdate();
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _presupuesto.MensajeError, Proceso.Error);
        }
    }
    private void CargarRegionalesPresupuestos(Int32 anio)
    {
        HiddenField_ANIO.Value = anio.ToString();
        HiddenField_ID_REGIONAL.Value = null;
        HiddenField_ID_CIUDAD.Value = null;
        HiddenField_ANIO_CON_PRESUPUESTO.Value = "NO";

        Ocultar(Acciones.SeleccionAnio);
        Cargar(Acciones.SeleccionAnio);

        Presupuesto _presupuesto = new Presupuesto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaRegionales = _presupuesto.ObtenerRegionalesConPresupuestoPorAnio(anio);

        if (tablaRegionales.Rows.Count <= 0)
        {
            if (_presupuesto.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _presupuesto.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontró información de regionales.", Proceso.Advertencia);
            }

            GridView_Regionales.DataSource = null;
            GridView_Regionales.DataBind();
        }
        else
        {
            GridView_Regionales.DataSource = tablaRegionales;
            GridView_Regionales.DataBind();
        }
    }
    private void CargarCiudadesPresupuestos(Decimal ID_REGIONAL)
    {
        Int32 anio = Convert.ToInt32(HiddenField_ANIO.Value);

        HiddenField_ID_REGIONAL.Value = ID_REGIONAL.ToString();
        HiddenField_ID_CIUDAD.Value = null;
        HiddenField_ANIO_CON_PRESUPUESTO.Value = "NO";

        Ocultar(Acciones.SeleccionRegional);
        Mostrar(Acciones.SeleccionRegional);
        Cargar(Acciones.SeleccionRegional);

        Presupuesto _presupuesto = new Presupuesto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCiudades = _presupuesto.ObtenerCiudadesConPresupuestoPorIdRegional(ID_REGIONAL, anio);

        if (tablaCiudades.Rows.Count <= 0)
        {
            if (_presupuesto.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _presupuesto.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontró información de ciudades asociadas a la regional seleccionada.", Proceso.Advertencia);
            }

            GridView_Ciudades.DataSource = null;
            GridView_Ciudades.DataBind();
        }
        else
        {
            GridView_Ciudades.DataSource = tablaCiudades;
            GridView_Ciudades.DataBind();
        }
    }
    private void CargarPresupuestosAnioParCiudadSeleccionada(String ID_CIUDAD)
    {
        Int32 anio = Convert.ToInt32(HiddenField_ANIO.Value);
        Decimal ID_REGIONAL = Convert.ToDecimal(HiddenField_ID_REGIONAL.Value);

        HiddenField_ID_CIUDAD.Value = ID_CIUDAD;

        Ocultar(Acciones.SeleccionCiudad);
        Mostrar(Acciones.SeleccionCiudad);

        Presupuesto _presupuesto = new Presupuesto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaPresupuestos = _presupuesto.ObtenerPresupuestosAnioDeUnaCiudad(ID_CIUDAD, anio);

        if (tablaPresupuestos.Rows.Count <= 0)
        {
            if (_presupuesto.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _presupuesto.MensajeError, Proceso.Error);

                Panel_DetallesPorAnio.Visible = false;
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se han parametrizado presupuestos para el año " + anio.ToString() + " para la ciudad seleccionada.", Proceso.Advertencia);
                Button_GUARDAR_1.Visible = true;
                Button_CANCELAR_1.Visible = true;

                Cargar(Acciones.SeleccionCiudad);
                Activar(Acciones.SeleccionCiudad);
            }

            HiddenField_ANIO_CON_PRESUPUESTO.Value = "NO";
        }
        else
        {
            Desactivar(Acciones.SeleccionCiudad);
            CargarTextBoxsAnios(tablaPresupuestos);

            Button_MODIFICAR_1.Visible = Visible;

            HiddenField_ANIO_CON_PRESUPUESTO.Value = "SI";
        }
    }
    private void CargarAnios()
    {
        Presupuesto _presupuesto = new Presupuesto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaAnios = _presupuesto.ObtenerAniosYPresupuestos();

        if (_presupuesto.MensajeError != null)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _presupuesto.MensajeError, Proceso.Error);
        }
        else
        {
            GridView_Anios.DataSource = tablaAnios;
            GridView_Anios.DataBind();
        }
    }