private void cargar_DropDownList_CIUDAD(Decimal ID_EMPRESA)
    {
        DropDownList_Ciudad.Items.Clear();

        cobertura _cobertura = new cobertura(Session["idEmpresa"].ToString());
        DataTable tablaCoberturaEmpresa = _cobertura.obtenerCoberturaDeUnCliente(ID_EMPRESA);

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

        foreach (DataRow fila in tablaCoberturaEmpresa.Rows)
        {
            item = new System.Web.UI.WebControls.ListItem(fila["Ciudad"].ToString(), fila["Código Ciudad"].ToString());
            DropDownList_Ciudad.Items.Add(item);
        }

        DropDownList_Ciudad.DataBind();
    }
예제 #2
0
        public Boolean Actualizar(Decimal ID_EMPRESA, String ACTIVO, System.DateTime FCH_INGRESO, String NIT_EMPRESA, String ACT_ECO,
            String RAZ_SOCIAL, String DIR_EMP, String CIU_EMP, String TEL_EMP, String CUB_CIUDADES, String NOM_REP_LEGAL, String CC_REP_LEGAL,
            String TIPO_EMPRESA, String CIU_ORG_NEG, Int32 NUM_EMPLEADOS, String USU_MOD, String FAC_NAL,
            Decimal ID_ALIANZA, Int32 DIG_VER, String EMP_ESTADO, String EMP_EXC_IVA,
            String TEL_EMP1, String NUM_CELULAR, String ID_ACTIVIDAD, Decimal ID_GRUPO_EMPRESARIAL,
            List<cobertura> coberturas, String ID_CIUDAD_CC_REP_LEGAL, String ID_SERVICIO, String TIP_DOC_REG_LEGAL, List<empresasRiesgos> listaRiesgos, String RAZ_SOCIAL_ANTERIOR)
        {
            Decimal ID_VERSIONAMIENTO = 0;
            Boolean realizarVersionamientoManual = true;
            Boolean continuarNormalmente = true;
            ManualServicio _manual = new ManualServicio(Empresa, Usuario);

            Conexion conexion = new Conexion(Empresa);
            conexion.IniciarTransaccion();

            Boolean verificador = true;
            try
            {
                realizarVersionamientoManual = _manual.EmpresaConManualDeServicioCreado(ID_EMPRESA, conexion);

                DataTable tablaDatosAnteriores = _manual.ObtenerInfoRegistroTabla(diccionarioCamposVenEmpresas, "VEN_EMPRESAS", "ID_EMPRESA", ID_EMPRESA.ToString(), conexion);

                if (ActualizarRegistroVEN_EMPRESAS(ID_EMPRESA, ACTIVO, FCH_INGRESO, NIT_EMPRESA, ACT_ECO, RAZ_SOCIAL, DIR_EMP, CIU_EMP, TEL_EMP, CUB_CIUDADES, NOM_REP_LEGAL, CC_REP_LEGAL, TIPO_EMPRESA, CIU_ORG_NEG, NUM_EMPLEADOS, USU_MOD, FAC_NAL, ID_ALIANZA, DIG_VER, EMP_ESTADO, EMP_EXC_IVA, TEL_EMP1, NUM_CELULAR, ID_ACTIVIDAD, ID_GRUPO_EMPRESARIAL, ID_CIUDAD_CC_REP_LEGAL, ID_SERVICIO, TIP_DOC_REG_LEGAL, conexion) == false)
                {
                    conexion.DeshacerTransaccion();
                    verificador = false;
                }
                else
                {
                    DataTable tablaDatosNuevos = _manual.ObtenerInfoRegistroTabla(diccionarioCamposVenEmpresas, "VEN_EMPRESAS", "ID_EMPRESA", ID_EMPRESA.ToString(), conexion);

                    if (realizarVersionamientoManual == true)
                    {
                        ID_VERSIONAMIENTO = _manual.DeterminarYRegistrarModificacionesEnCampos(diccionarioCamposVenEmpresas, tablaDatosAnteriores, tablaDatosNuevos, ID_VERSIONAMIENTO, ID_EMPRESA, ManualServicio.ListaSecciones.Comercial, ManualServicio.AccionesManual.Actualizar, conexion);
                        if (ID_VERSIONAMIENTO == -1)
                        {
                            conexion.DeshacerTransaccion();
                            verificador = false;
                            continuarNormalmente = false;
                            ID_VERSIONAMIENTO = 0;
                        }
                    }

                    if (continuarNormalmente == true)
                    {
                        cobertura _cobertura = new cobertura(Empresa);
                        Boolean eliminarCobertura = true;
                        Boolean insertarCobertura = true;

                        DataTable tablaCoberturaActual = _cobertura.obtenerCoberturaDeUnCliente(ID_EMPRESA, conexion);

                        for (int i = 0; i < tablaCoberturaActual.Rows.Count; i++)
                        {
                            DataRow filaCoberturaActual = tablaCoberturaActual.Rows[i];
                            String ID_CIUDAD_COBERTURA_ACTUAL = filaCoberturaActual["Código Ciudad"].ToString().Trim();

                            eliminarCobertura = true;

                            foreach (cobertura c in coberturas)
                            {
                                if (c.IDCIUDAD == ID_CIUDAD_COBERTURA_ACTUAL)
                                {
                                    eliminarCobertura = false;
                                    break;
                                }
                            }

                            if (eliminarCobertura == true)
                            {
                                if (realizarVersionamientoManual == true)
                                {
                                    ID_VERSIONAMIENTO = _manual.RegistrarDesactivacionRegistroTabla(ID_EMPRESA, ManualServicio.ListaSecciones.Comercial, ManualServicio.AccionesManual.Eliminar, "COBERTURA", "Cobertura", ID_CIUDAD_COBERTURA_ACTUAL, ID_VERSIONAMIENTO, conexion);
                                    if (ID_VERSIONAMIENTO == -1)
                                    {
                                        conexion.DeshacerTransaccion();
                                        verificador = false;
                                        continuarNormalmente = false;
                                        ID_VERSIONAMIENTO = 0;
                                        break;
                                    }
                                }

                                if (continuarNormalmente == true)
                                {
                                    if (_cobertura.EliminarUnaCiudadDeLaCoberturaDeCliente(ID_EMPRESA, ID_CIUDAD_COBERTURA_ACTUAL, Usuario, conexion) == false)
                                    {
                                        MensajeError = _cobertura.MensajeError;
                                        conexion.DeshacerTransaccion();
                                        verificador = false;
                                        break;
                                    }
                                }
                            }
                        }

                        foreach (cobertura c in coberturas)
                        {
                            insertarCobertura = true;

                            for (int i = 0; i < tablaCoberturaActual.Rows.Count; i++)
                            {
                                DataRow filaCoberturaActual = tablaCoberturaActual.Rows[i];
                                String ID_CIUDAD_COBERTURA_ACTUAL = filaCoberturaActual["Código Ciudad"].ToString().Trim();

                                if (c.IDCIUDAD == ID_CIUDAD_COBERTURA_ACTUAL)
                                {
                                    insertarCobertura = false;
                                    break;
                                }
                            }

                            if (insertarCobertura == true)
                            {
                                if (realizarVersionamientoManual == true)
                                {
                                    ID_VERSIONAMIENTO = _manual.RegistrarInsersionRegistroTabla(ID_VERSIONAMIENTO, ManualServicio.ListaSecciones.Comercial, "COBERTURA", "Cobertura", c.IDCIUDAD, ManualServicio.AccionesManual.Insertar, ID_EMPRESA, conexion);
                                    if (ID_VERSIONAMIENTO == -1)
                                    {
                                        conexion.DeshacerTransaccion();
                                        verificador = false;
                                        continuarNormalmente = false;
                                        ID_VERSIONAMIENTO = 0;
                                        break;
                                    }
                                }

                                if (continuarNormalmente == true)
                                {
                                    if (_cobertura.Adicionar(ID_EMPRESA, c.IDCIUDAD, Usuario, conexion) == false)
                                    {
                                        verificador = false;
                                        conexion.DeshacerTransaccion();
                                        MensajeError = _cobertura.MensajeError;
                                        break;
                                    }
                                }
                            }
                            else
                            {
                                if (_cobertura.ActualizarPermisosParaCiudaYEmpresaEnGeneral(ID_EMPRESA, c.IDCIUDAD, Usuario, conexion) == false)
                                {
                                    verificador = false;
                                    conexion.DeshacerTransaccion();
                                    MensajeError = _cobertura.MensajeError;
                                    break;
                                }
                            }
                        }

                        if (verificador == true)
                        {
                            empresasRiesgos _empresasRiesgos = new empresasRiesgos(Empresa, Usuario);
                            DataTable tablaRiesgosActuales = _empresasRiesgos.ObtenerRoesgosPorEmpresa(ID_EMPRESA, conexion);

                            Boolean riesgoEncontrado = false;

                            foreach (DataRow filaRiegosActuales in tablaRiesgosActuales.Rows)
                            {
                                riesgoEncontrado = false;
                                foreach (empresasRiesgos filaRiesgosNuevos in listaRiesgos)
                                {
                                    if (filaRiesgosNuevos.DESCRIPCION_RIESGO == filaRiegosActuales["DESCRIPCION_RIESGO"].ToString())
                                    {
                                        riesgoEncontrado = true;
                                        break;
                                    }
                                }

                                if (riesgoEncontrado == false)
                                {
                                    if (_empresasRiesgos.desactivarRiesgoParaEmpresa(ID_EMPRESA, filaRiegosActuales["DESCRIPCION_RIESGO"].ToString(), conexion) == false)
                                    {
                                        conexion.DeshacerTransaccion();
                                        verificador = false;
                                        break;
                                    }
                                }
                            }

                            if (verificador == true)
                            {
                                foreach (empresasRiesgos filaRiesgosNuevos in listaRiesgos)
                                {
                                    if (_empresasRiesgos.Adicionar(ID_EMPRESA, filaRiesgosNuevos.DESCRIPCION_RIESGO, conexion) == 0)
                                    {
                                        verificador = false;
                                        MensajeError = _empresasRiesgos.MensajeError;
                                        conexion.DeshacerTransaccion();
                                        break;
                                    }
                                }

                                if (verificador == true)
                                {
                                    if (RAZ_SOCIAL != RAZ_SOCIAL_ANTERIOR)
                                    {
                                        if (AdicionarCambiorazonSocial(ID_EMPRESA, RAZ_SOCIAL_ANTERIOR, RAZ_SOCIAL, Usuario, conexion) <= 0)
                                        {
                                            conexion.DeshacerTransaccion();
                                            verificador = false;
                                        }
                                    }
                                    else
                                    {
                                        verificador = true;
                                    }

                                    if (verificador == true)
                                    {
                                        conexion.AceptarTransaccion();
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                conexion.DeshacerTransaccion();
                verificador = false;
                MensajeError = ex.Message;
            }
            finally
            {
                conexion.Desconectar();
            }

            return verificador;
        }
    /// <summary>
    /// hecho por cesar pulido
    /// el dia 17 de enro de 2013
    /// para cargar la cobertura en el pdf
    /// </summary>
    /// <param name="ID_EMPRESA"></param>
    /// <param name="_datos"></param>
    /// <returns></returns>
    public String CargarCobertura(Decimal ID_EMPRESA, Conexion _datos)
    {
        //verificado por _Datos

        cobertura _cobertura = new cobertura(Session["idEmpresa"].ToString());
        //ok---------------------------------
        DataTable tablaCobertura = _cobertura.obtenerCoberturaDeUnCliente(ID_EMPRESA, _datos);

        String htmlSeccion = String.Empty;

        foreach (DataRow fila in tablaCobertura.Rows)
        {
            htmlSeccion += "<tr>";
            htmlSeccion += "  <td width=\"15%\" style=\"text-align:center;\">";
            htmlSeccion += fila["Código Ciudad"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"20%\" style=\"text-align:left;\">";
            htmlSeccion += fila["Regional"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"32%\" style=\"text-align:left;\">";
            htmlSeccion += fila["Departamento"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"33%\" style=\"text-align:left;\">";
            htmlSeccion += fila["Ciudad"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "</tr>";
        }

        return htmlSeccion;
    }
    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();
    }
예제 #5
0
        public Decimal Adicionar(String ACTIVO, System.DateTime FCH_INGRESO, String NIT_EMPRESA, String ACT_ECO,
            String RAZ_SOCIAL, String DIR_EMP, String CIU_EMP, String TEL_EMP, String CUB_CIUDADES, String NOM_REP_LEGAL, String CC_REP_LEGAL,
            String TIPO_EMPRESA, String CIU_ORG_NEG, Int32 NUM_EMPLEADOS, String USU_CRE, String FAC_NAL,
            Decimal ID_ALIANZA, Int32 DIG_VER, String EMP_ESTADO, String EMP_EXC_IVA,
            String TEL_EMP1, String NUM_CELULAR, String ID_ACTIVIDAD, Decimal ID_GRUPO_EMPRESARIAL,
            List<cobertura> coberturas, String ID_CIUDAD_CC_REP_LEGAL, String ID_SERVICIO, String TIP_DOC_REP_LEGAL, List<empresasRiesgos> listaRiesgos)
        {
            Decimal ID_EMPRESA = 0;

            Boolean verificador = true;

            Conexion conexion = new Conexion(Empresa);
            conexion.IniciarTransaccion();

            try
            {
                ID_EMPRESA = AdicinarRegistroVEN_EMPRESAS(ACTIVO, FCH_INGRESO, NIT_EMPRESA, ACT_ECO, RAZ_SOCIAL, DIR_EMP, CIU_EMP, TEL_EMP, CUB_CIUDADES, NOM_REP_LEGAL, CC_REP_LEGAL, TIPO_EMPRESA, CIU_ORG_NEG, NUM_EMPLEADOS, USU_CRE, FAC_NAL, ID_ALIANZA, DIG_VER, EMP_ESTADO, EMP_EXC_IVA, TEL_EMP1, NUM_CELULAR, ID_ACTIVIDAD, ID_GRUPO_EMPRESARIAL, ID_CIUDAD_CC_REP_LEGAL, ID_SERVICIO, TIP_DOC_REP_LEGAL, conexion);

                if (ID_EMPRESA == 0)
                {
                    conexion.DeshacerTransaccion();
                    verificador = false;
                }
                else
                {
                    cobertura _cobertura = new cobertura(Empresa);
                    foreach (cobertura c in coberturas)
                    {
                        if (_cobertura.Adicionar(ID_EMPRESA, c.IDCIUDAD, USU_CRE, conexion) == false)
                        {
                            conexion.DeshacerTransaccion();
                            ID_EMPRESA = 0;
                            verificador = false;
                            break;
                        }
                    }

                    if (verificador == true)
                    {
                        empresasRiesgos _empresasRiesgos = new empresasRiesgos(Empresa, Usuario);
                        foreach (empresasRiesgos r in listaRiesgos)
                        {
                            if (_empresasRiesgos.Adicionar(ID_EMPRESA, r.DESCRIPCION_RIESGO, conexion) <= 0)
                            {
                                conexion.DeshacerTransaccion();
                                ID_EMPRESA = 0;
                                verificador = false;
                                break;
                            }
                        }

                        if (verificador == true)
                        {
                            conexion.AceptarTransaccion();
                        }
                    }
                }
            }
            catch
            {
                conexion.DeshacerTransaccion();
                ID_EMPRESA = 0;
                verificador = false;
            }
            finally
            {
                conexion.Desconectar();
            }

            return ID_EMPRESA;
        }
    private void llenarGridCobertura(Decimal idEmpresa)
    {
        cobertura _cobertura = new cobertura(Session["idEmpresa"].ToString());
        DataTable tablaCobertura = _cobertura.obtenerCoberturaDeUnCliente(idEmpresa);

        if (tablaCobertura.Rows.Count > 0)
        {
            GridView_COBERTURA.DataSource = tablaCobertura;
            GridView_COBERTURA.DataBind();
        }
        else
        {
            GridView_COBERTURA.DataSource = null;
            GridView_COBERTURA.DataBind();
        }
    }
    private void cargarInfoCondiciones(Boolean bModificar)
    {
        capturarVariablesGlogales();

        if (ID_SUB_C != 0)
        {
            subCentroCosto _subCentroCostoMODULO = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaInfoSubCentro = _subCentroCostoMODULO.ObtenerSubCentrosDeCostoPorIdSubCosto(ID_SUB_C);
            DataRow filaTablaInfoSubCentro = tablaInfoSubCentro.Rows[0];

            configurarInfoAdicionalModulo(true, filaTablaInfoSubCentro["NOM_SUB_C"].ToString());

            Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
        }
        else
        {
            if (ID_CENTRO_C != 0)
            {
                centroCosto _centroCostoMODULO = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaInfoCC = _centroCostoMODULO.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                DataRow filaTablaInfoCC = tablaInfoCC.Rows[0];

                configurarInfoAdicionalModulo(true, filaTablaInfoCC["NOM_CC"].ToString());

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
            }
            else
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == false) && (ID_EMPRESA != 0))
                {
                    cobertura _coberturaMODULO = new cobertura(Session["idEmpresa"].ToString());
                    DataTable tablaInfoCiudad = _coberturaMODULO.obtenerNombreCiudadPorIdCiudad(ID_CIUDAD);
                    DataRow filaTablaInfoCiudad = tablaInfoCiudad.Rows[0];

                    configurarInfoAdicionalModulo(true, filaTablaInfoCiudad["NOMBRE"].ToString());

                    Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
                }
                else
                {
                    cliente _clienteMODULO = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                    DataTable tablaInfoCliente = _clienteMODULO.ObtenerEmpresaConIdEmpresa(ID_EMPRESA);
                    DataRow filaTablaInfoCliente = tablaInfoCliente.Rows[0];

                    configurarInfoAdicionalModulo(true, filaTablaInfoCliente["RAZ_SOCIAL"].ToString());
                    Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = true;
                }
            }
        }

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

        DataTable tablaCondiciones = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C);
        if (tablaCondiciones.Rows.Count <= 0)
        {
            if (_condicionComercial.MensajeError != null)
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    configurarBotonesDeAccion(false, false, false, false);
                }
                else
                {
                    configurarBotonesDeAccion(false, false, false, true);
                }

                Panel_FORMULARIO.Visible = false;

                Panel_SECCION_SERVICIOS.Visible = false;

                Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = false;

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _condicionComercial.MensajeError;

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
            }
            else
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    configurarBotonesDeAccion(false, true, true, false);
                }
                else
                {
                    configurarBotonesDeAccion(false, true, true, true);
                }

                Panel_FORMULARIO.Visible = true;

                Panel_SECCION_SERVICIOS.Visible = false;

                Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = true;

                controlesParaNuevaCondicionEconomica();

                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = true;
                    cargarEstructuraDeCC();

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

                    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.";
                }
                else
                {
                    Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = false;
                }
            }
        }
        else
        {

            if (bModificar == true)
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    configurarBotonesDeAccion(false, true, true, false);
                }
                else
                {
                    configurarBotonesDeAccion(false, true, true, true);
                }

                Panel_FORMULARIO.Enabled = true;

                Panel_CONTROL_REGISTRO.Visible = false;

                Panel_COD_CONDICIONES.Visible = false;

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = true;
                mostrar_modulo_copia_condiciones_grupoempresarial();

            }
            else
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
                {
                    configurarBotonesDeAccion(true, false, false, false);
                }
                else
                {
                    configurarBotonesDeAccion(true, false, false, true);
                }

                Panel_FORMULARIO.Enabled = false;

                Panel_CONTROL_REGISTRO.Visible = true;
                Panel_CONTROL_REGISTRO.Enabled = false;

                Panel_COD_CONDICIONES.Visible = true;
                Panel_COD_CONDICIONES.Enabled = false;

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
            }

            Panel_FORMULARIO.Visible = true;

            configurarMensajes(false, System.Drawing.Color.Green);

            DataRow infoCondicionesComerciales = tablaCondiciones.Rows[0];

            cargar_campos_condiciones_comerciales(infoCondicionesComerciales);

            DataTable tablaServiciosDeLaEntidad;
            if (ID_SUB_C != 0)
            {
                tablaServiciosDeLaEntidad = _condicionComercial.ObtenerServiciosPorEmpresaPorIdSubC(ID_SUB_C);

                Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
            }
            else
            {
                if (ID_CENTRO_C != 0)
                {
                    tablaServiciosDeLaEntidad = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCentroC(ID_CENTRO_C);

                    Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
                }
                else
                {
                    if ((ID_EMPRESA != 0) && (String.IsNullOrEmpty(ID_CIUDAD) == false))
                    {
                        tablaServiciosDeLaEntidad = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCiudad(ID_CIUDAD, ID_EMPRESA);

                        Panel_COPIA_CONDICIONES_ECONOMICAS_GRUPO_EMPRESARIAL.Visible = false;
                    }
                    else
                    {
                        tablaServiciosDeLaEntidad = _condicionComercial.ObtenerServiciosPorEmpresaPorIdEmpresa(ID_EMPRESA);

                    }
                }
            }

            if (tablaServiciosDeLaEntidad.Rows.Count <= 0)
            {
                habilitarSeccionServiciosParaDatosNuevos(bModificar);
            }
            else
            {

                List<servicio> listaServicios = new List<servicio>();
                Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
                Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
                List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
                Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
                Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);

                cargarInformacionServiciosComplementariosDeUnaEntidad(tablaServiciosDeLaEntidad, bModificar, false);
            }

            if ((String.IsNullOrEmpty(ID_CIUDAD) == true) && (ID_CENTRO_C == 0) && (ID_SUB_C == 0))
            {
                Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = true;
                cargarEstructuraDeCC();

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

                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.";
            }
            else
            {
                Panel_ESTRUCTURA_CENTRO_COSTOS.Visible = false;
            }
        }
    }
    private void llenarGridCobertura(Decimal idEmpresa)
    {
        cobertura _cobertura = new cobertura(Session["idEmpresa"].ToString());

        DataTable tablaCobertura = _cobertura.obtenerCoberturaDeUnCliente(idEmpresa);

        if (tablaCobertura.Rows.Count > 0)
        {
            GridView_COVERTURA.DataSource = tablaCobertura;
            GridView_COVERTURA.DataBind();
        }

        DataTable tabla_temp = new DataTable();
        tabla_temp.Columns.Add("Código Ciudad");
        tabla_temp.Columns.Add("Regional");
        tabla_temp.Columns.Add("Departamento");
        tabla_temp.Columns.Add("Ciudad");

        DataRow fila_temp;
        foreach (DataRow filaOriginal in tablaCobertura.Rows)
        {
            fila_temp = tabla_temp.NewRow();

            fila_temp["Código Ciudad"] = filaOriginal["Código Ciudad"].ToString();
            fila_temp["Regional"] = filaOriginal["Regional"].ToString();
            fila_temp["Departamento"] = filaOriginal["Departamento"].ToString();
            fila_temp["Ciudad"] = filaOriginal["Ciudad"].ToString();
            tabla_temp.Rows.Add(fila_temp);
        }

        Session["dt_GRID_COVERTURA"] = tabla_temp;
    }
    private void Modificar()
    {
        cliente _cliente = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        tools _tools = new tools();

        decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);

        String ACTIVO = DropDownList_ACTIVO.SelectedValue.ToString();
        DateTime FCH_INGRESO = DateTime.Parse(TextBox_FCH_INGRESO.Text.Trim());
        String NIT_EMPRESA = TextBox_NIT_EMPRESA.Text.Trim();

        String ACT_ECO = null;
        if (String.IsNullOrEmpty(TextBox_DES_ACTIVIDAD.Text) == false)
        {
            ACT_ECO = _tools.RemplazarCaracteresEnString(TextBox_DES_ACTIVIDAD.Text.ToUpper().Trim());
        }

        String RAZ_SOCIAL = _tools.RemplazarCaracteresEnString(TextBox_RAZ_SOCIAL.Text.ToUpper().Trim());
        String DIR_EMP = _tools.RemplazarCaracteresEnString(TextBox_DIR_EMP.Text.ToUpper().Trim());
        String CIU_EMP = DropDownList_CIUDAD.SelectedValue.ToString();
        String TEL_EMP = _tools.RemplazarCaracteresEnString(TextBox_TEL_EMP.Text.ToUpper().Trim());

        List<cobertura> listaCiudadesSeleccionadas = new List<cobertura>();
        cobertura _coberturaParaLista;
        foreach (GridViewRow fila in GridView_COVERTURA.Rows)
        {
            _coberturaParaLista = new cobertura(Session["idEmpresa"].ToString());
            _coberturaParaLista.IDCIUDAD = fila.Cells[1].Text.Trim();
            listaCiudadesSeleccionadas.Add(_coberturaParaLista);
        }

        List<empresasRiesgos> listaRiesgosEmpresa = new List<empresasRiesgos>();
        empresasRiesgos _empresasRiesgosParaLista;
        foreach (DataRow fila in ((DataTable)Session["dt_GRID_RIESGOS"]).Rows)
        {
            _empresasRiesgosParaLista = new empresasRiesgos(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            _empresasRiesgosParaLista.ID_EMPRESA = ID_EMPRESA;
            _empresasRiesgosParaLista.DESCRIPCION_RIESGO = fila["DESCRIPCION_RIESGO"].ToString();
            listaRiesgosEmpresa.Add(_empresasRiesgosParaLista);
        }

        String CUB_CIUDADES = "";
        int contador_filas = 0;
        foreach (cobertura fila in listaCiudadesSeleccionadas)
        {
            if (contador_filas <= 0)
            {
                CUB_CIUDADES = fila.IDCIUDAD;
            }
            else
            {
                CUB_CIUDADES += "," + fila.IDCIUDAD;
            }
            contador_filas += 1;
        }

        String NOM_REP_LEGAL = _tools.RemplazarCaracteresEnString(TextBox_NOM_REP_LEGAL.Text.ToUpper().Trim());
        String TIP_DOC_REP_LEGAL = DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE.SelectedValue;
        String CC_REP_LEGAL = TextBox_CC_REP_LEGAL.Text.Trim();
        String ID_CIU_CC_REP_LEGAL = null;
        if (DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE.SelectedValue == "CC")
        {
            ID_CIU_CC_REP_LEGAL = DropDownList_CIU_CC_REP_LEGAL.SelectedValue.ToString();
        }

        String CIU_ORG_NEG = DropDownList_CIUDAD_ORIGINO.SelectedValue.ToString();
        String TIPO_EMPRESA = DropDownList_TIPO_EMPRESA.SelectedValue.ToString();
        int NUM_EMPLEADOS = Convert.ToInt32(TextBox_NUM_EMPLEADOS.Text.Trim());

        String USU_ACTUAL = Session["USU_LOG"].ToString();

        String FAC_NAL = DropDownList_FAC_NAL.SelectedValue.ToString();

        Decimal ID_ALIANZA = 0;
        if (DropDownList_ALIANZA.SelectedIndex > 0)
        {
            ID_ALIANZA = Convert.ToDecimal(DropDownList_ALIANZA.SelectedValue);
        }

        int DIG_VER = Convert.ToInt32(TextBox_DIG_VER.Text.Trim());
        String EMP_ESTADO = DropDownList_EMP_ESTADO.SelectedValue.ToString();
        String EMP_EXC_IVA = DropDownList_EMP_EXC_IVA.SelectedValue.ToString();

        String TEL_EMP1;
        if (TextBox_TEL_EMP_1.Text.ToUpper() == "")
        {
            TEL_EMP1 = "Ninguno";
        }
        else
        {
            TEL_EMP1 = _tools.RemplazarCaracteresEnString(TextBox_TEL_EMP_1.Text.ToUpper().Trim());
        }

        String NUM_CELULAR;
        if (TextBox_CEL_EMP.Text.ToUpper().Trim() == "")
        {
            NUM_CELULAR = "Ninguno";
        }
        else
        {
            NUM_CELULAR = TextBox_CEL_EMP.Text.ToUpper().Trim();
        }

        String ID_ACTIVIDAD = DropDownList_ACTIVIDAD.SelectedValue.ToString();

        Decimal ID_GRUPO_EMPRESARIAL = 0;
        if (DropDownList_GRUPO_EMPRESARIAL.SelectedIndex > 0)
        {
            ID_GRUPO_EMPRESARIAL = Convert.ToDecimal(DropDownList_GRUPO_EMPRESARIAL.SelectedValue);
        }

        String ID_CIUDAD_CC_REP_LEGAL = DropDownList_CIU_CC_REP_LEGAL.SelectedValue.ToString();

        String ID_SERVICIO = null;

        if (Session["idEmpresa"].ToString() == "1")
        {
            ID_SERVICIO = "1";
        }
        else
        {
            ID_SERVICIO = "2";
        }

        Boolean resultadoActualizacion = true;

        if (HiddenField_ESTADO_EMPRESA.Value != DropDownList_ACTIVO.SelectedValue.ToString())
        {
            historialActivacion _historialActivacion = new historialActivacion(Session["idEmpresa"].ToString());
            _historialActivacion.CLASE_REGISTRO = Label_TIPO_DE_ACTIVACION.Text.ToUpper();
            _historialActivacion.COMENTARIO = TextBox_DESCRIPCION_HISTORIAL_ACT.Text.ToUpper().Trim();

            resultadoActualizacion = _cliente.Actualizar(ID_EMPRESA, ACTIVO, FCH_INGRESO, NIT_EMPRESA, ACT_ECO, RAZ_SOCIAL, DIR_EMP, CIU_EMP, TEL_EMP, CUB_CIUDADES, NOM_REP_LEGAL, CC_REP_LEGAL, TIPO_EMPRESA, CIU_ORG_NEG, NUM_EMPLEADOS, USU_ACTUAL, FAC_NAL, ID_ALIANZA, DIG_VER, EMP_ESTADO, EMP_EXC_IVA, TEL_EMP1, NUM_CELULAR, ID_ACTIVIDAD, ID_GRUPO_EMPRESARIAL, listaCiudadesSeleccionadas, ID_CIUDAD_CC_REP_LEGAL, _historialActivacion, ID_SERVICIO, TIP_DOC_REP_LEGAL, listaRiesgosEmpresa, HiddenField_RAZ_SOCIAL_ANTERIOR.Value);
        }
        else
        {
            resultadoActualizacion = _cliente.Actualizar(ID_EMPRESA, ACTIVO, FCH_INGRESO, NIT_EMPRESA, ACT_ECO, RAZ_SOCIAL, DIR_EMP, CIU_EMP, TEL_EMP, CUB_CIUDADES, NOM_REP_LEGAL, CC_REP_LEGAL, TIPO_EMPRESA, CIU_ORG_NEG, NUM_EMPLEADOS, USU_ACTUAL, FAC_NAL, ID_ALIANZA, DIG_VER, EMP_ESTADO, EMP_EXC_IVA, TEL_EMP1, NUM_CELULAR, ID_ACTIVIDAD, ID_GRUPO_EMPRESARIAL, listaCiudadesSeleccionadas, ID_CIUDAD_CC_REP_LEGAL, ID_SERVICIO, TIP_DOC_REP_LEGAL, listaRiesgosEmpresa, HiddenField_RAZ_SOCIAL_ANTERIOR.Value);
        }

        if (resultadoActualizacion == true)
        {
            //maestrasInterfaz _maestrasInterfaz = new maestrasInterfaz();
            //_maestrasInterfaz.CargarEnBdElManualServicioActual(ID_EMPRESA);

            Cargar(ID_EMPRESA);
            Informar(panelMensajeCorrecto, lblMensajeCorrecto, string.Format("El cliente {0} fue actualizado correctamente", RAZ_SOCIAL), Proceso.Correcto);
        }
        else
        {
            Informar(panelMensajeError, lblMensajeError, _cliente.MensajeError, Proceso.Error);
        }
    }
    private void Guardar()
    {
        cliente _cliente = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        tools _tools = new tools();

        decimal ID_EMPRESA = 0;

        String ACTIVO = DropDownList_ACTIVO.SelectedValue.ToString();
        DateTime FCH_INGRESO = DateTime.Parse(TextBox_FCH_INGRESO.Text.Trim());
        String NIT_EMPRESA = TextBox_NIT_EMPRESA.Text.Trim();

        String ACT_ECO = null;
        if (String.IsNullOrEmpty(TextBox_DES_ACTIVIDAD.Text) == false)
        {
            ACT_ECO = _tools.RemplazarCaracteresEnString(TextBox_DES_ACTIVIDAD.Text.ToUpper().Trim());
        }

        String RAZ_SOCIAL = _tools.RemplazarCaracteresEnString(TextBox_RAZ_SOCIAL.Text.ToUpper().Trim());
        String DIR_EMP = _tools.RemplazarCaracteresEnString(TextBox_DIR_EMP.Text.ToUpper().Trim());
        String CIU_EMP = DropDownList_CIUDAD.SelectedValue.ToString();
        String TEL_EMP = _tools.RemplazarCaracteresEnString(TextBox_TEL_EMP.Text.ToUpper().Trim());

        List<cobertura> listaCiudadesSeleccionadas = new List<cobertura>();
        cobertura _coberturaParaLista;
        foreach (GridViewRow fila in GridView_COVERTURA.Rows)
        {
            _coberturaParaLista = new cobertura(Session["idEmpresa"].ToString());
            _coberturaParaLista.IDCIUDAD = fila.Cells[1].Text.Trim();
            listaCiudadesSeleccionadas.Add(_coberturaParaLista);
        }

        List<empresasRiesgos> listaRiesgosEmpresa = new List<empresasRiesgos>();
        empresasRiesgos _empresasRiesgosParaLista;
        foreach (DataRow fila in ((DataTable)Session["dt_GRID_RIESGOS"]).Rows)
        {
            _empresasRiesgosParaLista = new empresasRiesgos(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            _empresasRiesgosParaLista.ID_EMPRESA = ID_EMPRESA;
            _empresasRiesgosParaLista.DESCRIPCION_RIESGO = fila["DESCRIPCION_RIESGO"].ToString();
            listaRiesgosEmpresa.Add(_empresasRiesgosParaLista);
        }

        String CUB_CIUDADES = "";
        int contador_filas = 0;
        foreach (cobertura fila in listaCiudadesSeleccionadas)
        {
            if (contador_filas <= 0)
            {
                CUB_CIUDADES = fila.IDCIUDAD;
            }
            else
            {
                CUB_CIUDADES += "," + fila.IDCIUDAD;
            }
            contador_filas += 1;
        }

        String NOM_REP_LEGAL = _tools.RemplazarCaracteresEnString(TextBox_NOM_REP_LEGAL.Text.ToUpper().Trim());
        String TIP_DOC_REP_LEGAL = DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE.SelectedValue;
        String CC_REP_LEGAL = TextBox_CC_REP_LEGAL.Text.Trim();
        String ID_CIU_CC_REP_LEGAL = null;
        if (DropDownList_TIP_CEDULA_REP_LEGAL_CLIENTE.SelectedValue == "CC")
        {
            ID_CIU_CC_REP_LEGAL = DropDownList_CIU_CC_REP_LEGAL.SelectedValue.ToString();
        }

        String CIU_ORG_NEG = DropDownList_CIUDAD_ORIGINO.SelectedValue.ToString();
        String TIPO_EMPRESA = DropDownList_TIPO_EMPRESA.SelectedValue.ToString();
        int NUM_EMPLEADOS = Convert.ToInt32(TextBox_NUM_EMPLEADOS.Text.Trim());

        String USU_ACTUAL = Session["USU_LOG"].ToString();

        String FAC_NAL = DropDownList_FAC_NAL.SelectedValue.ToString();

        Decimal ID_ALIANZA = 0;
        if (DropDownList_ALIANZA.SelectedIndex > 0)
        {
            ID_ALIANZA = Convert.ToDecimal(DropDownList_ALIANZA.SelectedValue);
        }

        int DIG_VER = Convert.ToInt32(TextBox_DIG_VER.Text.Trim());
        String EMP_ESTADO = DropDownList_EMP_ESTADO.SelectedValue.ToString();
        String EMP_EXC_IVA = DropDownList_EMP_EXC_IVA.SelectedValue.ToString();

        String TEL_EMP1;
        if (TextBox_TEL_EMP_1.Text.ToUpper() == "")
        {
            TEL_EMP1 = "Ninguno";
        }
        else
        {
            TEL_EMP1 = _tools.RemplazarCaracteresEnString(TextBox_TEL_EMP_1.Text.ToUpper().Trim());
        }

        String NUM_CELULAR;
        if (TextBox_CEL_EMP.Text.ToUpper().Trim() == "")
        {
            NUM_CELULAR = "Ninguno";
        }
        else
        {
            NUM_CELULAR = TextBox_CEL_EMP.Text.ToUpper().Trim();
        }

        String ID_ACTIVIDAD = DropDownList_ACTIVIDAD.SelectedValue.ToString();

        Decimal ID_GRUPO_EMPRESARIAL = 0;
        if (DropDownList_GRUPO_EMPRESARIAL.SelectedIndex > 0)
        {
            ID_GRUPO_EMPRESARIAL = Convert.ToDecimal(DropDownList_GRUPO_EMPRESARIAL.SelectedValue);
        }

        String ID_CIUDAD_CC_REP_LEGAL = DropDownList_CIU_CC_REP_LEGAL.SelectedValue.ToString();

        String ID_SERVICIO;

        if (Session["idEmpresa"].ToString() == "1")
        {
            ID_SERVICIO = "1";
        }
        else
        {
            ID_SERVICIO = "2";
        }

        ID_EMPRESA = _cliente.Adicionar("S", FCH_INGRESO, NIT_EMPRESA, ACT_ECO, RAZ_SOCIAL, DIR_EMP, CIU_EMP, TEL_EMP, CUB_CIUDADES, NOM_REP_LEGAL, CC_REP_LEGAL, TIPO_EMPRESA, CIU_ORG_NEG, NUM_EMPLEADOS, USU_ACTUAL, FAC_NAL, ID_ALIANZA, DIG_VER, EMP_ESTADO, EMP_EXC_IVA, TEL_EMP1, NUM_CELULAR, ID_ACTIVIDAD, ID_GRUPO_EMPRESARIAL, listaCiudadesSeleccionadas, ID_CIUDAD_CC_REP_LEGAL, ID_SERVICIO, TIP_DOC_REP_LEGAL, listaRiesgosEmpresa);

        if (ID_EMPRESA == 0)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _cliente.MensajeError, Proceso.Error);
        }
        else
        {
            Cargar(ID_EMPRESA);

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El cliente " + RAZ_SOCIAL + " fue creado correctamente y se le asignó el ID " + ID_EMPRESA.ToString(), Proceso.Correcto);
        }
    }
    private void cargarInfoCondiciones(Boolean bModificar)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);
        String ID_CIUDAD = null;
        Decimal ID_CENTRO_C = 0;
        Decimal ID_SUB_C = 0;

        try
        {
            ID_CIUDAD = QueryStringSeguro["codCiudad"].ToString();
        }
        catch
        {
            ID_CIUDAD = null;
        }

        try
        {
            ID_CENTRO_C = Convert.ToDecimal(QueryStringSeguro["codCC"]);
        }
        catch
        {
            ID_CENTRO_C = 0;
        }

        try
        {
            ID_SUB_C = Convert.ToDecimal(QueryStringSeguro["codSUBCC"]);
        }
        catch
        {
            ID_SUB_C = 0;
        }

        if (ID_SUB_C != 0)
        {
            subCentroCosto _subCentroCostoMODULO = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaInfoSubCentro = _subCentroCostoMODULO.ObtenerSubCentrosDeCostoPorIdSubCosto(ID_SUB_C);
            DataRow filaTablaInfoSubCentro = tablaInfoSubCentro.Rows[0];

            configurarInfoAdicionalModulo(true, filaTablaInfoSubCentro["NOM_SUB_C"].ToString());
        }
        else
        {
            if (ID_CENTRO_C != 0)
            {
                centroCosto _centroCostoMODULO = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaInfoCC = _centroCostoMODULO.ObtenerCentrosDeCostoPorIdCentroCosto(ID_CENTRO_C);
                DataRow filaTablaInfoCC = tablaInfoCC.Rows[0];

                configurarInfoAdicionalModulo(true, filaTablaInfoCC["NOM_CC"].ToString());
            }
            else
            {
                if ((String.IsNullOrEmpty(ID_CIUDAD) == false) && (ID_EMPRESA != 0))
                {
                    cobertura _coberturaMODULO = new cobertura(Session["idEmpresa"].ToString());
                    DataTable tablaInfoCiudad = _coberturaMODULO.obtenerNombreCiudadPorIdCiudad(ID_CIUDAD);
                    DataRow filaTablaInfoCiudad = tablaInfoCiudad.Rows[0];

                    configurarInfoAdicionalModulo(true, filaTablaInfoCiudad["NOMBRE"].ToString());
                }
                else
                {
                    cliente _clienteMODULO = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                    DataTable tablaInfoCliente = _clienteMODULO.ObtenerEmpresaConIdEmpresa(ID_EMPRESA);
                    DataRow filaTablaInfoCliente = tablaInfoCliente.Rows[0];

                    configurarInfoAdicionalModulo(true, filaTablaInfoCliente["RAZ_SOCIAL"].ToString());
                }
            }
        }

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

        DataTable tablaCondiciones = _condicionComercial.ObtenerCondicionesEconomicasPorId(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C);
        if (tablaCondiciones.Rows.Count <= 0)
        {
            if (_condicionComercial.MensajeError != null)
            {
                configurarBotonesDeAccion(false, false, false, true);

                Panel_FORMULARIO.Visible = false;

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _condicionComercial.MensajeError;
            }
            else
            {
                configurarBotonesDeAccion(false, true, true, true);

                Panel_FORMULARIO.Visible = true;

                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = false;

                controlesParaNuevaCondicionEconomica();
            }
        }
        else
        {
            if (bModificar == true)
            {
                configurarBotonesDeAccion(false, true, true, true);
            }
            else
            {
                configurarBotonesDeAccion(true, false, false, true);
            }

            Panel_FORMULARIO.Visible = true;
            if (bModificar == true)
            {
                Panel_FORMULARIO.Enabled = true;
            }
            else
            {
                Panel_FORMULARIO.Enabled = false;
            }

            configurarMensajes(false, System.Drawing.Color.Green);

            DataRow infoCondicionesComerciales = tablaCondiciones.Rows[0];

            if (bModificar == false)
            {
                Panel_CONTROL_REGISTRO.Visible = true;
                Panel_CONTROL_REGISTRO.Enabled = false;
                TextBox_USU_CRE.Text = infoCondicionesComerciales["USU_CRE"].ToString();
                try
                {
                    TextBox_FCH_CRE.Text = DateTime.Parse(infoCondicionesComerciales["FCH_CRE"].ToString()).ToShortDateString();
                    TextBox_HOR_CRE.Text = DateTime.Parse(infoCondicionesComerciales["FCH_CRE"].ToString()).ToShortTimeString();
                }
                catch
                {
                    TextBox_FCH_CRE.Text = "";
                    TextBox_HOR_CRE.Text = "";
                }
                TextBox_USU_MOD.Text = infoCondicionesComerciales["USU_MOD"].ToString();
                try
                {
                    TextBox_FCH_MOD.Text = DateTime.Parse(infoCondicionesComerciales["FCH_MOD"].ToString()).ToShortDateString();
                    TextBox_HOR_MOD.Text = DateTime.Parse(infoCondicionesComerciales["FCH_MOD"].ToString()).ToShortTimeString();
                }
                catch
                {
                    TextBox_FCH_MOD.Text = "";
                    TextBox_HOR_MOD.Text = "";
                }
            }
            else
            {
                Panel_CONTROL_REGISTRO.Visible = false;
            }

            if (bModificar == false)
            {
                Panel_COD_CONDICIONES.Visible = true;
                Panel_COD_CONDICIONES.Enabled = false;
                TextBox_COD_CONDICION.Text = infoCondicionesComerciales["REGISTRO"].ToString().Trim();
            }
            else
            {
                Panel_COD_CONDICIONES.Visible = false;
            }

            if (infoCondicionesComerciales["FACTURA"].ToString().Trim() == "N")
            {
                CheckBox_FACTURA_NOMINA.Checked = false;
            }
            else
            {
                if (infoCondicionesComerciales["FACTURA"].ToString().Trim() == "S")
                {
                    CheckBox_FACTURA_NOMINA.Checked = true;
                }
            }

            cargar_DropDownList_MOD_SOPORTE();
            DropDownList_MOD_SOPORTE.SelectedValue = infoCondicionesComerciales["MOD_SOPORTE"].ToString().Trim();
            cargar_DropDownList_MOD_FACTURA();
            DropDownList_MOD_FACTURA.SelectedValue = infoCondicionesComerciales["MOD_FACTURA"].ToString().Trim();

            TextBox_AD_NOM.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_NOM"]));

            if (infoCondicionesComerciales["SOLO_DEV"].ToString().Trim() == "N")
            {
                CheckBox_SOLO_DEV.Checked = false;
            }
            else
            {
                if (infoCondicionesComerciales["SOLO_DEV"].ToString().Trim() == "S")
                {
                    CheckBox_SOLO_DEV.Checked = true;
                }
            }

            TextBox_AD_PENSION.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_PENSION"]));
            TextBox_AD_SALUD.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_SALUD"]));
            TextBox_AD_RIESGOS.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_RIESGOS"]));
            TextBox_AD_APO_SENA.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_APO_SENA"]));
            TextBox_AD_APO_ICBF.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_APO_ICBF"]));
            TextBox_AD_APO_CAJA.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_APO_CAJA"]));
            TextBox_AD_VACACIONES.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_VACACIONES"]));
            TextBox_AD_CESANTIA.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_CESANTIA"]));
            TextBox_AD_INT_CES.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_INT_CES"]));
            TextBox_AD_PRIMA.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_PRIMA"]));
            TextBox_AD_SEG_VID.Text = String.Format("{0:N2}",Convert.ToDecimal(infoCondicionesComerciales["AD_SEG_VID"]));

            cargarCheckBox(CheckBox_SUB_PENSION,infoCondicionesComerciales["SUB_PENSION"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SALUD, infoCondicionesComerciales["SUB_SALUD"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_RIESGO, infoCondicionesComerciales["SUB_RIESGOS"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SENA, infoCondicionesComerciales["SUB_SENA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_ICBF, infoCondicionesComerciales["SUB_ICBF"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_CAJA, infoCondicionesComerciales["SUB_CAJA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_VACACIONES, infoCondicionesComerciales["SUB_VACACIONES"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_CESANTIAS, infoCondicionesComerciales["SUB_CESANTIAS"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_INT_CES, infoCondicionesComerciales["SUB_INT_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_PRIMA, infoCondicionesComerciales["SUB_PRIMA"].ToString().Trim());
            cargarCheckBox(CheckBox_SUB_SEG_VID, infoCondicionesComerciales["SUB_SEG_VID"].ToString().Trim());

            cargarCheckBox(CheckBox_RET_VAC, infoCondicionesComerciales["RET_VAC"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_CES, infoCondicionesComerciales["RET_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_INT_CES, infoCondicionesComerciales["RET_INT_CES"].ToString().Trim());
            cargarCheckBox(CheckBox_RET_PRIM, infoCondicionesComerciales["RET_PRIM"].ToString().Trim());

            TextBox_DIAS_VNC.Text = infoCondicionesComerciales["DIAS_VNC"].ToString().Trim();

            cargar_DropDownList_REGIMEN();
            DropDownList_REGIMEN.SelectedValue = infoCondicionesComerciales["REGIMEN"].ToString().Trim();

            TextBox_OBS_FACT.Text = infoCondicionesComerciales["OBS_FACT"].ToString().Trim();

            DataTable tablaServiciosEspecificos;

            if (ID_SUB_C != 0)
            {
                tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdSubC(ID_SUB_C);
            }
            else
            {
                if (ID_CENTRO_C != 0)
                {
                    tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCentroC(ID_CENTRO_C);
                }
                else
                {
                    if ((ID_EMPRESA != 0) && (String.IsNullOrEmpty(ID_CIUDAD) == false))
                    {
                        tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdCiudad(ID_CIUDAD, ID_EMPRESA);
                    }
                    else
                    {
                        tablaServiciosEspecificos = _condicionComercial.ObtenerServiciosPorEmpresaPorIdEmpresa(ID_EMPRESA);
                    }
                }
            }

            if (tablaServiciosEspecificos.Rows.Count <= 0)
            {
                CheckBox_ACTIVAR_SERVICIO_COMPLEMENTARIO.Checked = false;
                cargarTextCheckActivarServicios(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "sin");
                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = false;

                List<servicio> listaServicios = new List<servicio>();
                Session.Remove("listaServicios_" + ID_EMPRESA.ToString());
                Session.Add("listaServicios_" + ID_EMPRESA.ToString(), listaServicios);
                List<detalleServicio> listaDetallesServicio = new List<detalleServicio>();
                Session.Remove("listaDetallesServicio_" + ID_EMPRESA.ToString());
                Session.Add("listaDetallesServicio_" + ID_EMPRESA.ToString(), listaDetallesServicio);
            }
            else
            {
                CheckBox_ACTIVAR_SERVICIO_COMPLEMENTARIO.Checked = true;
                cargarTextCheckActivarServicios(ID_EMPRESA, ID_CIUDAD, ID_CENTRO_C, ID_SUB_C, "con");
                Panel_SERVICIOS_COMPLEMENTARIOS.Visible = true;
                configurarMensajesServicioComplementario(false, System.Drawing.Color.Green);
                cargarInformacionServiciosComplementariosEspecificos(tablaServiciosEspecificos, false);

                if (bModificar == true)
                {
                    Panel_SERVICIOS_COMPLEMENTARIOS_ADICIONAR.Visible = true;
                }
                else
                {
                    Panel_SERVICIOS_COMPLEMENTARIOS_ADICIONAR.Visible = false;
                }
            }
        }
    }
    private void Cargar(Decimal ID_EMPRESA)
    {
        Panel_Formulario_Nomina.Visible = true;

        contactos _contacto = new contactos(Session["idEmpresa"].ToString());
        DataTable tablaContactosOriginal = _contacto.ObtenerContactosPorIdEmpresa(ID_EMPRESA, tabla.proceso.Nomina);

        GridView_CONTACTOSNOMINA.DataSource = tablaContactosOriginal;
        GridView_CONTACTOSNOMINA.DataBind();

        Cargar(DropDownList_BAS_HOR_EXT, tabla.PARAMETROS_BASE_HORA_EXTRAS);
        Cargar(DropDownList_ID_PERIODO_PAGO, tabla.PARAMETROS_PERIODO_PAGO);
        Cargar(DropDownList_CALCULO_RETENCION_FUENTE, tabla.PARAMETROS_CALCULO_RETENCION_FUENTE);

        Label_MENSAJE_CC.Text = "Por favor seleccionar una ciudad de la lista de cobertura.";
        this.Label_MENSAJE_SUB_CC.Text = "Por favor seleccionar un centro de costo de la lista de centros de costo.";

        condicionNomina _condicionNomina = new condicionNomina(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable _dataTable = _condicionNomina.ObtenerPorIdEmpresa(ID_EMPRESA);
        if (String.IsNullOrEmpty(_condicionNomina.MensajeError))
        {
            if (_dataTable.Rows.Count != 0)
            {
                foreach (DataRow _dataRow in _dataTable.Rows)
                {
                    Label_INFO_ADICIONAL_MODULO.Text = !String.IsNullOrEmpty(_dataRow["RAZ_SOCIAL"].ToString()) ? _dataRow["RAZ_SOCIAL"].ToString() : String.Empty;
                    TextBox_FCH_CRE.Text = !String.IsNullOrEmpty(_dataRow["FCH_CRE"].ToString()) ? _dataRow["FCH_CRE"].ToString() : String.Empty;
                    TextBox_USU_CRE.Text = !String.IsNullOrEmpty(_dataRow["USU_CRE"].ToString()) ? _dataRow["USU_CRE"].ToString() : String.Empty;
                    TextBox_FCH_MOD.Text = !String.IsNullOrEmpty(_dataRow["FCH_MOD"].ToString()) ? _dataRow["FCH_MOD"].ToString() : String.Empty;
                    TextBox_USU_MOD.Text = !String.IsNullOrEmpty(_dataRow["USU_MOD"].ToString()) ? _dataRow["USU_MOD"].ToString() : String.Empty;
                    TextBox_REGISTRO.Text = !String.IsNullOrEmpty(_dataRow["REGISTRO"].ToString()) ? _dataRow["REGISTRO"].ToString() : String.Empty;

                    if (!String.IsNullOrEmpty(_dataRow["ID_PERIODO_PAGO"].ToString()))
                    {
                        DropDownList_ID_PERIODO_PAGO.SelectedValue = _dataRow["ID_PERIODO_PAGO"].ToString();
                        Cargar(CheckBoxList_PERIODO_PAGO_SUB_TRANSPORTE, _dataRow["ID_PERIODO_PAGO"].ToString());
                        for (int i = 0; i < CheckBoxList_PERIODO_PAGO_SUB_TRANSPORTE.Items.Count; i++)
                        {
                            switch (i)
                            {
                                case 0:
                                    if (!String.IsNullOrEmpty(_dataRow["PAG_SUB_TRANS_PERIDO_1"].ToString()))
                                        CheckBoxList_PERIODO_PAGO_SUB_TRANSPORTE.Items[i].Selected = _dataRow["PAG_SUB_TRANS_PERIDO_1"].Equals(true) ? true : false;
                                    break;
                                case 1:
                                    if (!String.IsNullOrEmpty(_dataRow["PAG_SUB_TRANS_PERIDO_2"].ToString()))
                                        CheckBoxList_PERIODO_PAGO_SUB_TRANSPORTE.Items[i].Selected = _dataRow["PAG_SUB_TRANS_PERIDO_2"].Equals(true) ? true : false;
                                    break;
                                case 2:
                                    if (!String.IsNullOrEmpty(_dataRow["PAG_SUB_TRANS_PERIDO_3"].ToString()))
                                        CheckBoxList_PERIODO_PAGO_SUB_TRANSPORTE.Items[i].Selected = _dataRow["PAG_SUB_TRANS_PERIDO_3"].Equals(true) ? true : false;
                                    break;
                                case 3:
                                    if (!String.IsNullOrEmpty(_dataRow["PAG_SUB_TRANS_PERIDO_4"].ToString()))
                                        CheckBoxList_PERIODO_PAGO_SUB_TRANSPORTE.Items[i].Selected = _dataRow["PAG_SUB_TRANS_PERIDO_4"].Equals(true) ? true : false;
                                    break;
                            }
                        }
                    }
                    else DropDownList_ID_PERIODO_PAGO.SelectedValue = "0";

                    TextBox_FECHA_PAGOS.Text = !String.IsNullOrEmpty(_dataRow["FECHA_PAGOS"].ToString()) ? _dataRow["FECHA_PAGOS"].ToString() : String.Empty;

                    if (!String.IsNullOrEmpty(_dataRow["CALC_PROM_DOMINICAL"].ToString()))
                        this.CheckBox_CALC_PROM_DOMINICAL.Checked = _dataRow["CALC_PROM_DOMINICAL"].Equals(true) ? true : false;
                    if (!String.IsNullOrEmpty(_dataRow["AJUSTAR_SMLV"].ToString()))
                        this.CheckBox_AJUSTAR_SMLV.Checked = _dataRow["AJUSTAR_SMLV"].Equals(true) ? true : false;

                    if (!String.IsNullOrEmpty(_dataRow["PAGA_SUB_TRANSPORTE"].ToString()))
                        this.CheckBox_PAGAR_SUB_TRANSPORTE.Checked = _dataRow["PAGA_SUB_TRANSPORTE"].Equals(true) ? true : false;

                    if (!String.IsNullOrEmpty(_dataRow["MOSTRAR_UNIFICADA"].ToString()))
                        this.CheckBox_MOSTRAR_UNIFICADA.Checked = _dataRow["MOSTRAR_UNIFICADA"].Equals(true) ? true : false;
                    if (!String.IsNullOrEmpty(_dataRow["DES_SEG_SOC_TRAB"].ToString()))
                        this.CheckBox_DES_SEG_SOC_TRAB.Checked = _dataRow["DES_SEG_SOC_TRAB"].Equals(true) ? true : false;

                    if (!String.IsNullOrEmpty(_dataRow["FACT_PARAF_ULTIMO_PERIODO"].ToString()))
                        this.CheckBox_FACT_PARAFISCALES.Checked = _dataRow["FACT_PARAF_ULTIMO_PERIODO"].Equals(true) ? true : false;
                    if (!String.IsNullOrEmpty(_dataRow["SABADO_NO_HABIL"].ToString()))
                        this.CheckBox_SABADO_NO_HABIL.Checked = _dataRow["SABADO_NO_HABIL"].Equals(true) ? true : false;
                    if (!String.IsNullOrEmpty(_dataRow["LIQUIDAR_ORDINARIAS_ULTIMO_PERIODO"].ToString()))
                        this.CheckBox_ORDINARIAS_ULTIMO_PERIODO.Checked = _dataRow["LIQUIDAR_ORDINARIAS_ULTIMO_PERIODO"].Equals(true) ? true : false;

                    DropDownList_BAS_HOR_EXT.SelectedValue = !String.IsNullOrEmpty(_dataRow["BAS_HOR_EXT"].ToString()) ? _dataRow["BAS_HOR_EXT"].ToString() : "0";
                    TextBox_FCH_INI_PRI_PER_NOM.Text = !String.IsNullOrEmpty(_dataRow["FCH_INI_PRI_PER_NOM"].ToString()) ? _dataRow["FCH_INI_PRI_PER_NOM"].ToString() : String.Empty;
                    DropDownList_CALCULO_RETENCION_FUENTE.SelectedValue = !String.IsNullOrEmpty(_dataRow["CALCULO_RETENCION_FUENTE"].ToString()) ? _dataRow["CALCULO_RETENCION_FUENTE"].ToString() : "0";

                    TextBox_ULT_PERIODO.Text = !String.IsNullOrEmpty(_dataRow["ULT_PERIODO"].ToString()) ? _dataRow["ULT_PERIODO"].ToString() : "0";
                    TextBox_ULT_PERIODO_MEM.Text = !String.IsNullOrEmpty(_dataRow["ULT_PERIODO_MEM"].ToString()) ? _dataRow["ULT_PERIODO_MEM"].ToString() : "0";
                    TextBox_FCH_ULT_LIQ_PER.Text = !String.IsNullOrEmpty(_dataRow["FCH_ULT_LIQ_PER"].ToString()) ? _dataRow["FCH_ULT_LIQ_PER"].ToString() : String.Empty;
                    TextBox_FCH_ULT_LIQ_MEM.Text = !String.IsNullOrEmpty(_dataRow["FCH_ULT_LIQ_MEM"].ToString()) ? _dataRow["FCH_ULT_LIQ_MEM"].ToString() : String.Empty;

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

                    DataTable _dataTableCobertura = _cobertura.obtenerCoberturaDeUnCliente(ID_EMPRESA);

                    if (_dataTableCobertura.Rows.Count == 0)
                    {
                        Informar(Label_MENSAJE_COBERTURA, "ADVERTENCIA: La empresa no tiene configurada actualmente una cobertura.", Proceso.Error);
                    }
                    else Panel_MENSAJE_COBERTURA.Visible = false;
                    GridView_COBERTURA.DataSource = _dataTableCobertura;
                    GridView_COBERTURA.DataBind();

                    _dataTableCobertura.Dispose();

                    llenarGridIncapacidades(Convert.ToDecimal(TextBox_REGISTRO.Text));
                    Mostrar();
                    Bloquear();
                }
            }
        }
        else
        {
            Informar(Label_MENSAJE, "Error: Consulte con el Administrador: " + _condicionNomina.MensajeError, Proceso.Error);
            this.Panel_MENSAJES.Visible = true;
        }
    }
    private void Cargar(GridView gridView, decimal IdEmpresa)
    {
        cobertura cobertura = new cobertura(Session["idEmpresa"].ToString());
        DataTable dataTable = cobertura.obtenerCoberturaDeUnCliente(IdEmpresa);

        if (dataTable.Rows.Count > 0)
        {
            gridView.DataSource = dataTable;
            gridView.DataBind();
        }
        if (dataTable != null) dataTable.Dispose();
    }
    private void cargar_GridView_DATOS()
    {
        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 tablaCoberturaEmpresa = _cobertura.obtenerCoberturaDeUnCliente(ID_EMPRESA);

        if (tablaCoberturaEmpresa.Rows.Count > 0)
        {
            GridView_DATOS.DataSource = tablaCoberturaEmpresa;
            GridView_DATOS.DataBind();
        }
        else
        {
            configurarMensajes(true, System.Drawing.Color.Red);
            Label_MENSAJE.Text = "ADVERTENCIA: El cliente no posee cobertura configurada.";

            configurarPanelesGenerales(false, false, false);
        }
    }