private void cargar_DropDownList_CENTRO_COSTO(Decimal ID_EMPRESA, String ID_CIUDAD)
    {
        DropDownList_CentroCosto.Items.Clear();

        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaCCCiudad = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(ID_EMPRESA, ID_CIUDAD);

        System.Web.UI.WebControls.ListItem item = new System.Web.UI.WebControls.ListItem("Seleccione", "");
        DropDownList_CentroCosto.Items.Add(item);

        foreach (DataRow fila in tablaCCCiudad.Rows)
        {
            item = new System.Web.UI.WebControls.ListItem(fila["NOM_CC"].ToString(), fila["ID_CENTRO_C"].ToString());
            DropDownList_CentroCosto.Items.Add(item);
        }

        DropDownList_CentroCosto.DataBind();
    }
    private void cargar_GridView_COBERTURA()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);

        cobertura _cobertura = new cobertura(Session["idEmpresa"].ToString());

        DataTable tablaCobertura = _cobertura.obtenerCoberturaDeUnCliente(ID_EMPRESA);

        if (tablaCobertura.Rows.Count <= 0)
        {
            configurarMensajesCobertura(true, System.Drawing.Color.Red);
            Label_MENSAJE_COBERTURA.Text = "La empresa no tiene configurada actualmente una cobertura.";
        }
        else
        {
            configurarMensajesCobertura(false, System.Drawing.Color.Red);

            GridView_COBERTURA.DataSource = tablaCobertura;
            GridView_COBERTURA.DataBind();

            DataRow filaEnTablaCobertura;
            condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCondicionesComercialesDeCobertura;

            centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCentrosDeCostoCiudad;
            for (int i = 0; i < tablaCobertura.Rows.Count; i++)
            {
                filaEnTablaCobertura = tablaCobertura.Rows[i];

                tablaCondicionesComercialesDeCobertura = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, filaEnTablaCobertura["Código Ciudad"].ToString(), 0, 0);
                if (tablaCondicionesComercialesDeCobertura.Rows.Count <= 0)
                {
                    GridView_COBERTURA.Rows[i].BackColor = colorNo;
                }
                else
                {
                    GridView_COBERTURA.Rows[i].BackColor = colorSi;
                }

                tablaCentrosDeCostoCiudad = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(ID_EMPRESA, filaEnTablaCobertura["Código Ciudad"].ToString());
                if (tablaCentrosDeCostoCiudad.Rows.Count <= 0)
                {
                    GridView_COBERTURA.Rows[i].Cells[1].Enabled = false;
                }
                else
                {
                    GridView_COBERTURA.Rows[i].Cells[1].Enabled = true;
                }

            }
        }

        configurarMensajesCC(true, System.Drawing.Color.Red);
        Label_MENSAJE_CC.Text = "Por favor seleccionar una ciudad de la lista de cobertura.";
        GridView_CENTROS_DE_COSTO.DataSource = null;
        GridView_CENTROS_DE_COSTO.DataBind();

        configurarMensajesSUBCC(true, System.Drawing.Color.Red);
        Label_MENSAJE_SUB_CC.Text = "Por favor seleccionar un centro de costo de la lista de centros de costo.";
        GridView_SUB_CENTROS_DE_COSTO.DataSource = null;
        GridView_SUB_CENTROS_DE_COSTO.DataBind();
    }
    private void Cargar(GridView gridView, decimal IdEmpresa, string idCiudad)
    {
        centroCosto centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable dataTable = centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(IdEmpresa, idCiudad);

            if (dataTable.Rows.Count > 0)
            {
                gridView.DataSource = dataTable;
                gridView.DataBind();
            }
            if (dataTable != null) dataTable.Dispose();
    }
    private void cargar_GridView_CENTROS_DE_COSTO(Decimal ID_EMPRESA, String ID_CIUDAD)
    {
        centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCCDeCiudad = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(ID_EMPRESA, ID_CIUDAD);

        if (tablaCCDeCiudad.Rows.Count <= 0)
        {
            configurarMensajesCC(true, System.Drawing.Color.Red);
            Label_MENSAJE_COBERTURA.Text = "La Ciudad no tiene centros de costo actualmente.";
        }
        else
        {
            configurarMensajesCC(false, System.Drawing.Color.Red);

            GridView_CENTROS_DE_COSTO.DataSource = tablaCCDeCiudad;
            GridView_CENTROS_DE_COSTO.DataBind();

            DataRow filaEnTablaCC;
            condicionComercial _condicionComercial = new condicionComercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaCondicionesComercialesDeCC;

            subCentroCosto _subCentroCosto = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaSUBCCDeCC;
            for (int i = 0; i < tablaCCDeCiudad.Rows.Count; i++)
            {
                filaEnTablaCC = tablaCCDeCiudad.Rows[i];

                tablaCondicionesComercialesDeCC = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, null, Convert.ToDecimal(filaEnTablaCC["ID_CENTRO_C"]), 0);
                if (tablaCondicionesComercialesDeCC.Rows.Count <= 0)
                {
                    GridView_CENTROS_DE_COSTO.Rows[i].BackColor = colorNo;
                }
                else
                {
                    GridView_CENTROS_DE_COSTO.Rows[i].BackColor = colorSi;
                }

                tablaSUBCCDeCC = _subCentroCosto.ObtenerSubCentrosDeCostoPorIdEmpresaIdCentroCosto(ID_EMPRESA, Convert.ToDecimal(filaEnTablaCC["ID_CENTRO_C"]));
                if (tablaSUBCCDeCC.Rows.Count <= 0)
                {
                    GridView_CENTROS_DE_COSTO.Rows[i].Cells[2].Enabled = false;
                }
                else
                {
                    GridView_CENTROS_DE_COSTO.Rows[i].Cells[2].Enabled = true;
                }
            }
        }

        configurarMensajesSUBCC(true, System.Drawing.Color.Red);
        Label_MENSAJE_SUB_CC.Text = "Por favor seleccionar un centro de costo de la lista de centros de costo.";
        GridView_SUB_CENTROS_DE_COSTO.DataSource = null;
        GridView_SUB_CENTROS_DE_COSTO.DataBind();
    }
    protected void GridView_COBERTURA_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"].ToString());
        Label_MENSAJE_COBERTURA.Text = String.Empty;

        if (e.CommandName == "Ciudad")
        {
            int fila = Convert.ToInt32(e.CommandArgument);

            Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);
            String ID_CIUDAD = GridView_COBERTURA.DataKeys[fila].Values["Código Ciudad"].ToString();

            centroCosto _centroCosto = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            DataTable _dataTableCC = _centroCosto.ObtenerCentrosDeCostoPorIdEmpresaIdCiudad(ID_EMPRESA, ID_CIUDAD);
            this.HiddenField_cobertura.Value = ID_CIUDAD;
            Cargar(ID_EMPRESA, ID_CIUDAD);

            if (_dataTableCC.Rows.Count == 0) Informar(Label_MENSAJE_COBERTURA, "ADVERTENCIA: La Ciudad no tiene centros de costo actualmente.", Proceso.Error);

            GridView_CENTROS_DE_COSTO.DataSource = _dataTableCC;
            GridView_CENTROS_DE_COSTO.DataBind();
            if (GridView_CENTROS_DE_COSTO.Rows.Count > 0) this.Panel_MENSAJE_CC.Visible = false;
            else this.Panel_MENSAJE_CC.Visible = true;
            _dataTableCC.Dispose();
            this.Label_INFO_ADICIONAL_MODULO.Text = "Ciudad - " + GridView_COBERTURA.DataKeys[fila].Values["Ciudad"].ToString();
        }
    }