/// <summary>
    /// hecho por cesar pulido
    /// el dia 17 de enero de 2013
    /// para cargar en el pdf los contactos comerciales
    /// </summary>
    /// <param name="ID_EMPRESA"></param>
    /// <param name="_datos"></param>
    /// <returns></returns>
    public String CargarContactosComerciales(Decimal ID_EMPRESA, Conexion _datos)
    {
        contactos _contacto = new contactos(Session["idEmpresa"].ToString());
        //ok--------------------
        DataTable tablaContactos = _contacto.ObtenerContactosPorIdEmpresa(ID_EMPRESA, tabla.proceso.ContactoComercial, _datos);

        String htmlSeccion = String.Empty;

        foreach (DataRow fila in tablaContactos.Rows)
        {
            htmlSeccion += "<tr>";
            htmlSeccion += "  <td width=\"20%\" style=\"text-align:left;\">";
            htmlSeccion += fila["CONT_NOM"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"15%\" style=\"text-align:left;\">";
            htmlSeccion += fila["NOMBRE_CIUDAD"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"25%\" style=\"text-align:left;\">";
            htmlSeccion += fila["CONT_CARGO"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"15%\" style=\"text-align:center;\">";
            htmlSeccion += fila["CONT_TEL"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"25%\" style=\"text-align:left;\">";
            htmlSeccion += fila["CONT_MAIL"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "</tr>";
        }

        return htmlSeccion;
    }
    protected void DropDownList_CONT_NOMBRE_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (DropDownList_CONT_NOMBRE.SelectedValue == "")
        {
            TextBox_CONT_MAIL.Text = "";
        }
        else
        {
            Decimal REGISTRO = Convert.ToDecimal(DropDownList_CONT_NOMBRE.SelectedValue);
            contactos _contactos = new contactos(Session["idEmpresa"].ToString());
            DataTable tablaContacto = _contactos.ObtenerContactosPorRegistro(REGISTRO);

            if (tablaContacto.Rows.Count > 0)
            {
                DataRow filaTablaContacto = tablaContacto.Rows[0];
                if (!(String.IsNullOrEmpty(filaTablaContacto["CONT_MAIL"].ToString().Trim())))
                {
                    TextBox_CONT_MAIL.Text = filaTablaContacto["CONT_MAIL"].ToString().Trim();
                }
            }
            else
            {
                TextBox_CONT_MAIL.Text = String.Empty;
            }
        }
    }
    private void cargar_DropDownList_CONT_NOMBRE()
    {
        DropDownList_CONT_NOMBRE.Items.Clear();

        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

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

        contactos _contactos = new contactos(Session["idEmpresa"].ToString());
        DataTable tablaContactos = _contactos.ObtenerContactosPorIdEmpresa(ID_EMPRESA, tabla.proceso.ContactoSeleccion);

        ListItem item = new ListItem("Ninguno", "");
        DropDownList_CONT_NOMBRE.Items.Add(item);

        foreach (DataRow fila in tablaContactos.Rows)
        {
            item = new ListItem(fila["CONT_NOM"].ToString(), fila["REGISTRO"].ToString());
            DropDownList_CONT_NOMBRE.Items.Add(item);
        }

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

        int PROCESO = Convert.ToInt32(QueryStringSeguro["proceso"]);
        String reg = QueryStringSeguro["reg"].ToString();
        contactos _contactos = new contactos(Session["idEmpresa"].ToString());

        tabla.proceso pr = (tabla.proceso)PROCESO;
        DataTable tablaContactosOriginal = _contactos.ObtenerContactosPorIdEmpresa(Convert.ToDecimal(reg), pr);

        if (_contactos.MensajeError != null)
        {
            configurarMensajes(true, System.Drawing.Color.Red);
            Label_MENSAJE.Text = _contactos.MensajeError;

            configurarBotonesDeAccion(true, false, false, false, false);

            Panel_RESULTADOS_GRID.Visible = false;

            Panel_FORMULARIO.Visible = false;
        }
        else
        {
            if (tablaContactosOriginal.Rows.Count > 0)
            {
                DataTable tablaContactos = new DataTable();

                tablaContactos.Columns.Add("Registro");
                tablaContactos.Columns.Add("Regional");
                tablaContactos.Columns.Add("Ciudad");
                tablaContactos.Columns.Add("Estado");
                tablaContactos.Columns.Add("Cargo");
                tablaContactos.Columns.Add("Nombre");
                tablaContactos.Columns.Add("Mail");
                tablaContactos.Columns.Add("Teléfono");
                tablaContactos.Columns.Add("Teléfono 2");
                tablaContactos.Columns.Add("Celular");

                DataRow filaInfoContrato;

                foreach (DataRow filaOriginal in tablaContactosOriginal.Rows)
                {
                    filaInfoContrato = tablaContactos.NewRow();
                    filaInfoContrato["Registro"] = filaOriginal["REGISTRO"].ToString();
                    filaInfoContrato["Cargo"] = filaOriginal["CONT_CARGO"].ToString();
                    filaInfoContrato["Nombre"] = filaOriginal["CONT_NOM"].ToString();
                    filaInfoContrato["Mail"] = filaOriginal["CONT_MAIL"].ToString();
                    filaInfoContrato["Teléfono"] = filaOriginal["CONT_TEL"].ToString();
                    filaInfoContrato["Teléfono 2"] = filaOriginal["CONT_TEL1"].ToString();
                    filaInfoContrato["Celular"] = filaOriginal["CONT_CELULAR"].ToString();
                    filaInfoContrato["Regional"] = filaOriginal["NOMBRE_REGIONAL"].ToString();
                    filaInfoContrato["Ciudad"] = filaOriginal["NOMBRE_CIUDAD"].ToString();
                    filaInfoContrato["Estado"] = filaOriginal["CONT_ESTADO"].ToString();

                    tablaContactos.Rows.Add(filaInfoContrato);
                }

                GridView_CONTACTOS.DataSource = tablaContactos;
                GridView_CONTACTOS.DataBind();
            }
            else
            {
                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = "ADVERTENCIA: El cliente no posee contáctos para este proceso.";

                configurarBotonesDeAccion(true, false, false, false, false);

                Panel_RESULTADOS_GRID.Visible = false;

                Panel_FORMULARIO.Visible = false;
            }
        }
    }
    private void cargar_DropDownList_CONTACTOS_EXISTENTES()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

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

        contactos _contactos = new contactos(Session["idEmpresa"].ToString());
        DataTable tablaContactosEmpresa = _contactos.ObtenerTodosContactosDeUnaEmpresa(ID_EMPRESA);

        ListItem item = new ListItem("Seleccione Contácto", "");
        DropDownList_CONTACTOS_EXISTENTES.Items.Add(item);

        foreach (DataRow fila in tablaContactosEmpresa.Rows)
        {
            item = new ListItem(fila["CONT_NOM"].ToString(), fila["REGISTRO"].ToString());
            DropDownList_CONTACTOS_EXISTENTES.Items.Add(item);
        }

        DropDownList_CONTACTOS_EXISTENTES.DataBind();
    }
    protected void Button_GUARDAR_Click(object sender, EventArgs e)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        String accion = QueryStringSeguro["accion"].ToString();
        int PROCESO = Convert.ToInt32(QueryStringSeguro["proceso"]);
        tabla.proceso pr = (tabla.proceso)PROCESO;

        contactos _contactos = new contactos(Session["idEmpresa"].ToString());
        Decimal ID_EMPRESA = Convert.ToDecimal(QueryStringSeguro["reg"]);

        String CONT_NOM = TextBox_CONT_NOM.Text.ToUpper().Trim();
        String CONT_CARGO = TextBox_CONT_CARGO.Text.ToUpper().Trim();

        String CONT_MAIL = null;
        if (String.IsNullOrEmpty(TextBox_CONT_MAIL.Text) == false)
        {
            CONT_MAIL = TextBox_CONT_MAIL.Text.Trim();
        }

        String CONT_TEL = TextBox_CONT_TEL.Text.ToUpper().Trim();

        String CONT_TEL1 = "Ninguno";
        if (TextBox_CONT_TEL1.Text.ToUpper().Trim() != "")
        {
            CONT_TEL1 = TextBox_CONT_TEL1.Text.ToUpper().Trim();
        }

        String CONT_CELULAR = "Ninguno";
        if (TextBox_CONT_CELULAR.Text.ToUpper().Trim() != "")
        {
            CONT_CELULAR = TextBox_CONT_CELULAR.Text.ToUpper().Trim();
        }

        String CONT_CIUDAD = DropDownList_CONT_CIUDAD.SelectedValue.ToString();

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

        Int32 DIAS = 0;
        String FORMA_PAGO = "";
        Decimal BANCO = 0;
        Decimal CUENTA = 0;

        if (_proceso == PROCESO)
        {
            Int32.TryParse(this.TextBox_DIAS_PAGO.Text, out DIAS);
            if (this.DropDownList_FORMA_PAGO.SelectedIndex != 0) FORMA_PAGO = this.DropDownList_FORMA_PAGO.SelectedItem.Value.ToString();
            if (this.DropDownList_BANCOS.SelectedIndex != 0) BANCO = Convert.ToDecimal(this.DropDownList_BANCOS.SelectedItem.Value.ToString());
            if (this.DropDownList_CUENTAS.SelectedIndex != 0) CUENTA = Convert.ToDecimal(this.DropDownList_CUENTAS.SelectedItem.Value.ToString());
        }

        Boolean verificador = true;
        Decimal REGISTRO = 0;
        if (accion == "nuevo")
        {
            String ESTADO;
            if (CheckBox_INMEDIATO.Checked == true)
            {
                ESTADO = "INMEDIATO";
            }
            else
            {
                ESTADO = "ACTIVO";
            }

            REGISTRO = _contactos.Adicionar(ID_EMPRESA, pr, CONT_NOM, CONT_CARGO, CONT_MAIL, CONT_TEL, CONT_TEL1, CONT_CELULAR, CONT_CIUDAD, USU_CRE, ESTADO, DIAS, FORMA_PAGO, BANCO, CUENTA);

            if (REGISTRO == 0)
            {
                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _contactos.MensajeError;
            }
            else
            {
                maestrasInterfaz _maestrasInterfaz = new maestrasInterfaz();
                _maestrasInterfaz.CargarEnBdElManualServicioActual(ID_EMPRESA);

                QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                if (Convert.ToInt32(tabla.proceso.ContactoComercial) == Convert.ToInt32(PROCESO))
                {
                    QueryStringSeguro["img_area"] = "comercial";
                    QueryStringSeguro["nombre_area"] = "GESTIÓN COMERCIAL";
                }
                else
                {
                    if (Convert.ToInt32(tabla.proceso.ContactoContratacion) == Convert.ToInt32(PROCESO))
                    {
                        QueryStringSeguro["img_area"] = "contratacion";
                        QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                    }
                    else
                    {
                        if (Convert.ToInt32(tabla.proceso.ContactoSeleccion) == Convert.ToInt32(PROCESO))
                        {
                            QueryStringSeguro["img_area"] = "seleccion";
                            QueryStringSeguro["nombre_area"] = "RECLUTAMIENTO, SELECCIÓN Y REQUISICIONES";
                        }
                        else
                        {
                            if (Convert.ToInt32(tabla.proceso.ContactoNominaFacturacion) == Convert.ToInt32(PROCESO))
                            {
                                QueryStringSeguro["img_area"] = "nomina";
                                QueryStringSeguro["nombre_area"] = "NÓMINA Y FACTURACIÓN";
                            }
                            else
                            {
                                if (Convert.ToInt32(tabla.proceso.Nomina) == Convert.ToInt32(PROCESO))
                                {
                                    QueryStringSeguro["img_area"] = "nomina";
                                    QueryStringSeguro["nombre_area"] = "NÓMINA Y FACTURACIÓN";
                                }
                                else
                                {
                                    if (Convert.ToInt32(tabla.proceso.Financiera) == Convert.ToInt32(PROCESO))
                                    {
                                        QueryStringSeguro["img_area"] = "financiera";
                                        QueryStringSeguro["nombre_area"] = "FINANCIERA";
                                    }
                                }
                            }
                        }
                    }
                }

                QueryStringSeguro["nombre_modulo"] = "CONTÁCTOS";
                QueryStringSeguro["accion"] = "cargarNuevo";
                QueryStringSeguro["reg"] = ID_EMPRESA.ToString();
                QueryStringSeguro["contacto"] = REGISTRO.ToString();
                QueryStringSeguro["proceso"] = PROCESO.ToString();

                Response.Redirect("~/maestros/contactos.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
            }
        }
        else
        {
            if (accion == "modificar")
            {
                String CONT_ESTADO = DropDownList_ESTADO.SelectedValue;
                REGISTRO = Convert.ToDecimal(QueryStringSeguro["contacto"].ToString());

                verificador = _contactos.Actualizar(REGISTRO, ID_EMPRESA, pr, CONT_NOM, CONT_CARGO, CONT_MAIL, CONT_TEL, CONT_TEL1, CONT_CELULAR, CONT_CIUDAD, USU_MOD, CONT_ESTADO, DIAS, FORMA_PAGO, BANCO, CUENTA);

                if (verificador == false)
                {
                    configurarMensajes(true, System.Drawing.Color.Red);
                    Label_MENSAJE.Text = _contactos.MensajeError;
                }
                else
                {
                    maestrasInterfaz _maestrasInterfaz = new maestrasInterfaz();
                    _maestrasInterfaz.CargarEnBdElManualServicioActual(ID_EMPRESA);

                    QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                    if (Convert.ToInt32(tabla.proceso.ContactoComercial) == Convert.ToInt32(PROCESO))
                    {
                        QueryStringSeguro["img_area"] = "comercial";
                        QueryStringSeguro["nombre_area"] = "GESTIÓN COMERCIAL";
                    }
                    else
                    {
                        if (Convert.ToInt32(tabla.proceso.ContactoContratacion) == Convert.ToInt32(PROCESO))
                        {
                            QueryStringSeguro["img_area"] = "contratacion";
                            QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                        }
                        else
                        {
                            if (Convert.ToInt32(tabla.proceso.ContactoSeleccion) == Convert.ToInt32(PROCESO))
                            {
                                QueryStringSeguro["img_area"] = "seleccion";
                                QueryStringSeguro["nombre_area"] = "RECLUTAMIENTO, SELECCIÓN Y REQUISICIONES";
                            }
                            else
                            {
                                if (Convert.ToInt32(tabla.proceso.ContactoNominaFacturacion) == Convert.ToInt32(PROCESO))
                                {
                                    QueryStringSeguro["img_area"] = "nomina";
                                    QueryStringSeguro["nombre_area"] = "NÓMINA Y FACTURACIÓN";
                                }
                                else
                                {
                                    if (Convert.ToInt32(tabla.proceso.Nomina) == Convert.ToInt32(PROCESO))
                                    {
                                        QueryStringSeguro["img_area"] = "nomina";
                                        QueryStringSeguro["nombre_area"] = "NÓMINA Y FACTURACIÓN";
                                    }
                                    else
                                    {
                                        if (Convert.ToInt32(tabla.proceso.Financiera) == Convert.ToInt32(PROCESO))
                                        {
                                            QueryStringSeguro["img_area"] = "financiera";
                                            QueryStringSeguro["nombre_area"] = "FINANCIERA";
                                        }
                                    }
                                }
                            }
                        }
                    }

                    QueryStringSeguro["nombre_modulo"] = "CONTÁCTOS";
                    QueryStringSeguro["accion"] = "cargarModificado";
                    QueryStringSeguro["reg"] = ID_EMPRESA.ToString();
                    QueryStringSeguro["contacto"] = REGISTRO.ToString();
                    QueryStringSeguro["proceso"] = PROCESO.ToString();

                    Response.Redirect("~/maestros/contactos.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                }
            }
        }
    }
    protected void DropDownList_CONTACTOS_EXISTENTES_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (DropDownList_CONTACTOS_EXISTENTES.SelectedValue != "")
        {
            Decimal REGISTRO = Convert.ToDecimal(DropDownList_CONTACTOS_EXISTENTES.SelectedValue);

            contactos _contactos = new contactos(Session["idEmpresa"].ToString());
            DataTable tablainfoContacto = _contactos.ObtenerContactosPorRegistro(REGISTRO);

            if (_contactos.MensajeError == null)
            {
                if (tablainfoContacto.Rows.Count <= 0)
                {
                    configurarMensajes(true, System.Drawing.Color.Red);
                    Label_MENSAJE.Text = "ADVERTENCIA: No se encontró información del Contácto identificado con el número: " + REGISTRO.ToString();

                    configurarBotonesDeAccion(true, false, false, false, true);

                    Panel_RESULTADOS_GRID.Visible = false;

                    Panel_FORMULARIO.Visible = false;
                }
                else
                {
                    DataRow filaInfoContacto = tablainfoContacto.Rows[0];

                    cargar_DropDownList_ESTADO();
                    DropDownList_ESTADO.SelectedValue = filaInfoContacto["CONT_ESTADO"].ToString().ToUpper().Trim();

                    TextBox_CONT_NOM.Text = filaInfoContacto["CONT_NOM"].ToString().Trim();
                    TextBox_CONT_CARGO.Text = filaInfoContacto["CONT_CARGO"].ToString().Trim();
                    TextBox_CONT_MAIL.Text = filaInfoContacto["CONT_MAIL"].ToString().Trim();

                    TextBox_CONT_TEL.Text = filaInfoContacto["CONT_TEL"].ToString().Trim();
                    TextBox_CONT_TEL1.Text = filaInfoContacto["CONT_TEL1"].ToString().Trim();
                    TextBox_CONT_CELULAR.Text = filaInfoContacto["CONT_CELULAR"].ToString().Trim();

                    _contactos.MensajeError = null;
                    DataRow filaInfoCiudadDepartamentoYRegional = obtenerDatosCiudadDepartamentoRegionalDelContacto(filaInfoContacto["CONT_CIUDAD"].ToString().Trim());
                    if (filaInfoCiudadDepartamentoYRegional != null)
                    {
                        cargar_DropDownList_REGIONAL();
                        DropDownList_REGIONAL.SelectedValue = filaInfoCiudadDepartamentoYRegional["ID_REGIONAL"].ToString().Trim();

                        cargar_DropDownList_CONT_DEPARTAMENTO(filaInfoCiudadDepartamentoYRegional["ID_REGIONAL"].ToString().Trim());
                        DropDownList_CONT_DEPARTAMENTO.SelectedValue = filaInfoCiudadDepartamentoYRegional["ID_DEPARTAMENTO"].ToString().Trim();
                        DropDownList_CONT_DEPARTAMENTO.Enabled = true;

                        cargar_DropDownList_CONT_CIUDAD(filaInfoCiudadDepartamentoYRegional["ID_DEPARTAMENTO"].ToString().Trim(), filaInfoCiudadDepartamentoYRegional["ID_REGIONAL"].ToString().Trim());
                        DropDownList_CONT_CIUDAD.SelectedValue = filaInfoCiudadDepartamentoYRegional["ID_CIUDAD"].ToString().Trim();
                        DropDownList_CONT_CIUDAD.Enabled = true;
                    }
                    else
                    {
                        cargar_DropDownList_REGIONAL();
                        inhabilitar_DropDownList_CONT_DEPARTAMENTO();
                        inhabilitar_DropDownList_CONT_CIUDAD();
                    }
                }
            }
            else
            {
                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _contactos.MensajeError;

                configurarBotonesDeAccion(true, false, false, false, true);

                Panel_RESULTADOS_GRID.Visible = false;

                Panel_FORMULARIO.Visible = false;
            }

        }
    }
    private void CargarContactosComerciales(Decimal ID_EMPRESA)
    {
        contactos _contacto = new contactos(Session["idEmpresa"].ToString());
        DataTable tablaContactos = _contacto.ObtenerContactosPorIdEmpresa(ID_EMPRESA, tabla.proceso.ContactoComercial);

        GridView_ContactosComerciales.DataSource = tablaContactos;
        GridView_ContactosComerciales.DataBind();
    }
    private void iniciarControlesModificar()
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        contactos _contactos = new contactos(Session["idEmpresa"].ToString());

        Decimal REGISTRO = Convert.ToDecimal(QueryStringSeguro["contacto"]);
        DataTable tablainfoContacto = _contactos.ObtenerContactosPorRegistro(REGISTRO);

        if (_contactos.MensajeError == null)
        {
            if (tablainfoContacto.Rows.Count <= 0)
            {
                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = "ADVERTENCIA: No se encontró información del Contcato # " + REGISTRO.ToString();

                configurarBotonesDeAccion(true, false, false, false, true);

                Panel_RESULTADOS_GRID.Visible = false;

                Panel_FORMULARIO.Visible = false;
            }
            else
            {
                configurarBotonesDeAccion(false, false, true, true, true);

                Panel_RESULTADOS_GRID.Visible = false;

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

                Panel_FORMULARIO.Visible = true;
                Panel_FORMULARIO.Enabled = true;

                Panel_CONTROL_REGISTRO.Visible = false;

                DataRow filaInfoContacto = tablainfoContacto.Rows[0];

                Page.Header.Title += ": " + filaInfoContacto["CONT_NOM"].ToString();

                TextBox_REGISTRO.Text = filaInfoContacto["REGISTRO"].ToString().Trim();
                Panel_IDENTIFICADOR.Visible = true;
                Panel_IDENTIFICADOR.Enabled = true;
                TextBox_REGISTRO.Enabled = false;

                Panel_CONTACTOS_ACTUALES.Visible = false;

                cargar_DropDownList_ESTADO();
                DropDownList_ESTADO.SelectedValue = filaInfoContacto["CONT_ESTADO"].ToString().ToUpper().Trim();

                TextBox_CONT_NOM.Text = filaInfoContacto["CONT_NOM"].ToString().Trim();
                TextBox_CONT_CARGO.Text = filaInfoContacto["CONT_CARGO"].ToString().Trim();
                TextBox_CONT_MAIL.Text = filaInfoContacto["CONT_MAIL"].ToString().Trim();

                TextBox_CONT_TEL.Text = filaInfoContacto["CONT_TEL"].ToString().Trim();
                TextBox_CONT_TEL1.Text = filaInfoContacto["CONT_TEL1"].ToString().Trim();
                TextBox_CONT_CELULAR.Text = filaInfoContacto["CONT_CELULAR"].ToString().Trim();

                _contactos.MensajeError = null;
                DataRow filaInfoCiudadDepartamentoYRegional = obtenerDatosCiudadDepartamentoRegionalDelContacto(filaInfoContacto["CONT_CIUDAD"].ToString().Trim());
                if (filaInfoCiudadDepartamentoYRegional != null)
                {
                    cargar_DropDownList_REGIONAL();
                    DropDownList_REGIONAL.SelectedValue = filaInfoCiudadDepartamentoYRegional["ID_REGIONAL"].ToString().Trim();

                    cargar_DropDownList_CONT_DEPARTAMENTO(filaInfoCiudadDepartamentoYRegional["ID_REGIONAL"].ToString().Trim());
                    DropDownList_CONT_DEPARTAMENTO.SelectedValue = filaInfoCiudadDepartamentoYRegional["ID_DEPARTAMENTO"].ToString().Trim();

                    cargar_DropDownList_CONT_CIUDAD(filaInfoCiudadDepartamentoYRegional["ID_DEPARTAMENTO"].ToString().Trim(), filaInfoCiudadDepartamentoYRegional["ID_REGIONAL"].ToString().Trim());
                    DropDownList_CONT_CIUDAD.SelectedValue = filaInfoCiudadDepartamentoYRegional["ID_CIUDAD"].ToString().Trim();
                }
                else
                {
                    cargar_DropDownList_REGIONAL();
                    inhabilitar_DropDownList_CONT_DEPARTAMENTO();
                    inhabilitar_DropDownList_CONT_CIUDAD();
                }

                if (_proceso == Convert.ToInt32(QueryStringSeguro["proceso"]))
                {
                    this.Panel_CARTERA.Visible = true;
                    this.TextBox_DIAS_PAGO.Text = filaInfoContacto["DIAS"].ToString().Trim();
                    if (!String.IsNullOrEmpty(filaInfoContacto["FORMA_PAGO"].ToString()))
                    {
                        this.DropDownList_FORMA_PAGO.SelectedIndex = DropDownList_FORMA_PAGO.Items.IndexOf(DropDownList_FORMA_PAGO.Items.FindByValue(filaInfoContacto["FORMA_PAGO"].ToString().Trim()));
                        if (DropDownList_FORMA_PAGO.SelectedItem.Value == "Consignacion" || DropDownList_FORMA_PAGO.SelectedItem.Value == "Transferencia")
                        {
                            cargar_DropDownList_BANCOS();
                            if (!String.IsNullOrEmpty(filaInfoContacto["BANCO"].ToString()))
                            {
                                this.DropDownList_BANCOS.SelectedIndex = DropDownList_BANCOS.Items.IndexOf(DropDownList_BANCOS.Items.FindByValue(filaInfoContacto["BANCO"].ToString().Trim()));
                                cargar_DropDownList_CUENTAS(Convert.ToInt32(DropDownList_BANCOS.SelectedItem.Value.ToString()));
                                if (!String.IsNullOrEmpty(filaInfoContacto["CUENTA"].ToString()))
                                {
                                    this.DropDownList_CUENTAS.SelectedIndex = DropDownList_CUENTAS.Items.IndexOf(DropDownList_CUENTAS.Items.FindByValue(filaInfoContacto["CUENTA"].ToString().Trim()));
                                }
                            }
                        }
                        else this.DropDownList_BANCOS.Items.Clear();
                    }
                }
                else this.Panel_CARTERA.Visible = false;

                Panel_INMEDIATO.Visible = false;
            }
        }
        else
        {
            configurarMensajes(true, System.Drawing.Color.Red);
            Label_MENSAJE.Text = _contactos.MensajeError;

            configurarBotonesDeAccion(true, false, false, false, true);

            Panel_RESULTADOS_GRID.Visible = false;

            Panel_FORMULARIO.Visible = false;
        }
    }
    protected void DropDownList_CONTACTO_SELECCION_SelectedIndexChanged(object sender, EventArgs e)
    {
        if(DropDownList_CONTACTO_SELECCION.SelectedIndex <= 0)
        {
            TextBox_EMAIL_SELECCION.Text = "";
        }
        else
        {
            Decimal ID_CONTACTO = Convert.ToDecimal(DropDownList_CONTACTO_SELECCION.SelectedValue);
            contactos _contactos = new contactos(Session["idEmpresa"].ToString());
            DataTable tablaContacto = _contactos.ObtenerContactosPorRegistro(ID_CONTACTO);
            DataRow filaContacto = tablaContacto.Rows[0];

            TextBox_EMAIL_SELECCION.Text = filaContacto["CONT_MAIL"].ToString().Trim() + "sasasa";
        }
    }
    private void cargar_DropDownList_CONTACTO_SELECCION()
    {
        DropDownList_CONTACTO_SELECCION.Items.Clear();

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

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

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

        foreach (DataRow fila in tablaContactosOriginal.Rows)
        {
            item = new System.Web.UI.WebControls.ListItem(fila["CONT_NOM"].ToString(), fila["REGISTRO"].ToString());
            DropDownList_CONTACTO_SELECCION.Items.Add(item);
        }

        DropDownList_CONTACTO_SELECCION.DataBind();
    }
    private void SeleccionarEmailSeleccion(DataRow fila)
    {
        Decimal ID_CONTACTO = Convert.ToDecimal(fila["ID_CONTACTO_SELECCION"]);
        contactos _contactos = new contactos(Session["idEmpresa"].ToString());
        DataTable tablaContacto = _contactos.ObtenerContactosPorRegistro(ID_CONTACTO);
        DataRow filaContacto = tablaContacto.Rows[0];

        cargar_DropDownList_CONTACTO_SELECCION();
        DropDownList_CONTACTO_SELECCION.SelectedValue = fila["ID_CONTACTO_SELECCION"].ToString().Trim();
        TextBox_EMAIL_SELECCION.Text = filaContacto["CONT_MAIL"].ToString().Trim();
    }
    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 CargarSeleccion(Decimal ID_EMPRESA,tabla.proceso proceso)
    {
        contactos _contacto = new contactos(Session["idEmpresa"].ToString());
        DataTable tablaContactosOriginal = _contacto.ObtenerContactosPorIdEmpresa(ID_EMPRESA, proceso);

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

        pruebaPerfil  _pp = new pruebaPerfil(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaPruebas = _pp.ObtenerPruebasVSCargoPorEmpresa(ID_EMPRESA);
        CargarTablaConfiguradaParaPruebasCargosSeleccion(tablaPruebas);

        envioCandidato _envioCandidato = new envioCandidato(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaCondicionesEnvio = _envioCandidato.ObtenerTodosLosContactosParaEnvioDeCandidatosPorIdEmpresa(ID_EMPRESA);

        if (tablaCondicionesEnvio.Rows.Count > 0)
        {
            GridView_CondEnvioSeleccion.DataSource = tablaCondicionesEnvio;
            GridView_CondEnvioSeleccion.DataBind();
        }
        else
        {
            GridView_CondEnvioSeleccion.DataSource = null;
            GridView_CondEnvioSeleccion.DataBind();
        }
    }
    private void CargarFormularioContratacion(Decimal ID_EMPRESA, tabla.proceso proceso)
    {
        contactos _contacto = new contactos(Session["idEmpresa"].ToString());
        DataTable tablaContactosOriginal = _contacto.ObtenerContactosPorIdEmpresa(ID_EMPRESA,  proceso);

        HiddenField_contratacion_idEmpresa.Value = ID_EMPRESA.ToString();

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

        condicionesContratacion _condContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaExamenesMedicos = _condContratacion.ObtenerExamenesVSCargosPorIdEmpresa(Convert.ToDecimal(HiddenField_contratacion_idEmpresa.Value));
        CargarTablaConfiguradaParaExamenesMedicosContratacion(tablaExamenesMedicos);

        DataTable tablaBancosPorCiudad = _condContratacion.ObtenerBancosVSCiudadesPorIdEmpresa(Convert.ToDecimal(HiddenField_contratacion_idEmpresa.Value));
        CargarTablaConfiguradaParaBancosContratacion(tablaBancosPorCiudad);

        Cargar(GridView_contratacion_cobertura, Convert.ToDecimal(HiddenField_contratacion_idEmpresa.Value));
    }
 private void SeleccionarEmailSeleccion(DataRow fila)
 {
     Decimal ID_CONTACTO = !DBNull.Value.Equals(fila["ID_CONTACTO_SELECCION"]) ? Convert.ToDecimal(fila["ID_CONTACTO_SELECCION"]) : 0;
     contactos _contactos = new contactos(Session["idEmpresa"].ToString());
     DataTable tablaContacto = _contactos.ObtenerContactosPorRegistro(ID_CONTACTO);
     if (!tablaContacto.Rows.Count.Equals(0))
     {
         DataRow filaContacto = tablaContacto.Rows[0];
         Label_NOMBRE_CONTACTO_SELECCION.Text = filaContacto["CONT_NOM"].ToString().Trim();
         TextBox_EMAIL_SELECCION.Text = filaContacto["CONT_MAIL"].ToString().Trim();
     }
 }