private Boolean GuardarDatosParciales()
    {
        radicacionHojasDeVida _rad = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        String APELLIDOS = null;
        if(String.IsNullOrEmpty(TextBox_APELLIDOS.Text.Trim()) == false)
        {
            APELLIDOS = TextBox_APELLIDOS.Text.Trim().ToUpper();
        }

        String NOMBRES = null;
        if (String.IsNullOrEmpty(TextBox_NOMBRES.Text.Trim()) == false)
        {
            NOMBRES = TextBox_NOMBRES.Text.Trim().ToUpper();
        }

        String TIP_DOC_IDENTIDAD = null;
        if(DropDownList_TIP_DOC_IDENTIDAD.SelectedIndex > 0)
        {
            TIP_DOC_IDENTIDAD = DropDownList_TIP_DOC_IDENTIDAD.SelectedValue;
        }

        String NUM_DOC_IDENTIDAD = null;
        if (String.IsNullOrEmpty(TextBox_NUM_DOC_IDENTIDAD.Text.Trim()) == false)
        {
            NUM_DOC_IDENTIDAD = TextBox_NUM_DOC_IDENTIDAD.Text.Trim().ToUpper();
        }

        String CIU_CEDULA = null;
        if (DropDownList_CIU_CEDULA.SelectedIndex > 0)
        {
            CIU_CEDULA = DropDownList_CIU_CEDULA.SelectedValue;
        }

        String LIB_MILITAR = null;
        if (String.IsNullOrEmpty(TextBox_LIB_MILITAR.Text) == false)
        {
            LIB_MILITAR = TextBox_LIB_MILITAR.Text;
        }

        String CAT_LIC_COND = null;
        if (DropDownList_CAT_LIC_COND.SelectedIndex > 0)
        {
            CAT_LIC_COND = DropDownList_CAT_LIC_COND.SelectedValue;
        }

        String DIR_ASPIRANTE = null;
        if (String.IsNullOrEmpty(TextBox_DIR_ASPIRANTE.Text.Trim()) == false)
        {
            DIR_ASPIRANTE = TextBox_DIR_ASPIRANTE.Text.Trim().ToUpper();
        }

        String SECTOR = null;
        if (String.IsNullOrEmpty(TextBox_SECTOR.Text.Trim()) == false)
        {
            SECTOR = TextBox_SECTOR.Text.Trim().ToUpper();
        }

        String CIU_ASPIRANTE = null;
        if (DropDownList_CIU_ASPIRANTE.SelectedIndex > 0)
        {
            CIU_ASPIRANTE = DropDownList_CIU_ASPIRANTE.SelectedValue;
        }

        String TEL_ASPIRANTE = null;
        if (String.IsNullOrEmpty(TextBox_TEL_ASPIRANTE.Text) == false)
        {
            TEL_ASPIRANTE = TextBox_TEL_ASPIRANTE.Text;
        }

        String SEXO = null;
        if (DropDownList_SEXO.SelectedIndex > 0)
        {
            SEXO = DropDownList_SEXO.SelectedValue;
        }

        DateTime FCH_NACIMIENTO = new DateTime();
        if (String.IsNullOrEmpty(TextBox_FCH_NACIMIENTO.Text.Trim()) == false)
        {
            FCH_NACIMIENTO = Convert.ToDateTime(TextBox_FCH_NACIMIENTO.Text);
        }

        int ID_FUENTE = 0;
        if (DropDownList_ID_FUENTE.SelectedIndex > 0)
        {
            ID_FUENTE = Convert.ToInt32(DropDownList_ID_FUENTE.SelectedValue);
        }

        String CONDUCTO = null;

        int NIV_EDUCACION = 0;
        if (DropDownList_NIV_EDUCACION.SelectedIndex > 0)
        {
            NIV_EDUCACION = Convert.ToInt32(DropDownList_NIV_EDUCACION.SelectedValue);
        }

        String E_MAIL = null;
        if (String.IsNullOrEmpty(TextBox_E_MAIL.Text.Trim()) == false)
        {
            E_MAIL = TextBox_E_MAIL.Text.Trim().ToUpper();
        }

        int ID_AREASINTERES = Convert.ToInt32(DropDownList_AREAS_ESPECIALIZACION.SelectedValue);

        Decimal ASPIRACION_SALARIAL = 0;
        if(String.IsNullOrEmpty(TextBox_ASPIRACION_SALARIAL.Text.Trim())  == false)
        {
            ASPIRACION_SALARIAL = Convert.ToDecimal(TextBox_ASPIRACION_SALARIAL.Text);
        }

        String EXPERIENCIA = null;
        if(DropDownList_EXPERIENCIA.SelectedIndex > 0)
        {
            EXPERIENCIA = DropDownList_EXPERIENCIA.SelectedValue;
        }

        String ID_GRUPOS_PRIMARIOS = null;
        Decimal ID_OCUPACION = 0;
        if(DropDownList_ID_OCUPACION.SelectedIndex > 0)
        {
            ID_OCUPACION = Convert.ToDecimal(DropDownList_ID_OCUPACION.SelectedValue);
            cargo _cargo = new cargo(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaInfoCargo = _cargo.ObtenerOcupacionPorIdOcupacion(ID_OCUPACION);
            try
            {
                DataRow filaCargo = tablaInfoCargo.Rows[0];
                ID_GRUPOS_PRIMARIOS = filaCargo["COD_OCUPACION"].ToString().Trim();
            }
            catch
            {
                ID_GRUPOS_PRIMARIOS = null;
            }
        }

        String NUCLEO_FORMACION = null;
        if(DropDownList_nucleo_formacion.SelectedIndex > 0)
        {
            NUCLEO_FORMACION = DropDownList_nucleo_formacion.SelectedValue;
        }

        String TALLA_CAMISA = null;
        if(DropDownList_Talla_Camisa.SelectedIndex > 0)
        {
            TALLA_CAMISA = DropDownList_Talla_Camisa.SelectedValue;
        }

        String TALLA_PANTALON = null;
        if(DropDownList_Talla_Pantalon.SelectedIndex  > 0)
        {
            TALLA_PANTALON = DropDownList_Talla_Pantalon.SelectedValue;
        }

        String TALLA_ZAPATOS = null;
        if(DropDownList_talla_zapatos.SelectedIndex > 0)
        {
            TALLA_ZAPATOS = DropDownList_talla_zapatos.SelectedValue;
        }

        int ESTRATO = 0;
        if(DropDownList_ESTRATO.SelectedIndex > 0)
        {
            ESTRATO = Convert.ToInt32(DropDownList_ESTRATO.SelectedValue);
        }

        int NRO_HIJOS = 0;
        if(String.IsNullOrEmpty(TextBox_NUM_HIJOS.Text.Trim()) == false)
        {
            NRO_HIJOS = Convert.ToInt32(TextBox_NUM_HIJOS.Text);
        }

        Boolean C_FMLIA = false;
        if (DropDownList_CabezaFamilia.SelectedValue == "S")
        {
            C_FMLIA = true;
        }

        String CEL_ASPIRANTE = null;
        if (String.IsNullOrEmpty(TextBox_CEL_ASPIRANTE.Text) == false)
        {
            CEL_ASPIRANTE = TextBox_CEL_ASPIRANTE.Text.Trim();
        }

        String ESTADO_CIVIL = null;
        if(DropDownList_ESTADO_CIVIL.SelectedIndex > 0)
        {
            ESTADO_CIVIL = DropDownList_ESTADO_CIVIL.SelectedValue;
        }

        Int32 ID_PAIS = 0;
        if(DropDownList_PaisNacimiento.SelectedIndex > 0)
        {
            ID_PAIS = Convert.ToInt32(DropDownList_PaisNacimiento.SelectedValue);
        }

        String TIPO_VIVIENDA = null;
        if(DropDownList_TipoVivienda.SelectedIndex > 0)
        {
            TIPO_VIVIENDA = DropDownList_TipoVivienda.SelectedValue;
        }

        String FUENTE_CONOCIMIENTO = null;
        if(DropDownList_ComoSeEntero.SelectedIndex > 0)
        {
            FUENTE_CONOCIMIENTO = DropDownList_ComoSeEntero.SelectedValue;
        }

        List<FormacionAcademica> listaFormacionAcademica = new List<FormacionAcademica>();
        for (int i = 0; i < GridView_EducacionFormal.Rows.Count; i++)
        {
            GridViewRow filaGrilla = GridView_EducacionFormal.Rows[i];

            String TIPO_EDUCACION = "FORMAL";

            Decimal ID_INFO_ACADEMICA = Convert.ToDecimal(GridView_EducacionFormal.DataKeys[i].Values["ID_INFO_ACADEMICA"]);

            DropDownList dropnivAcademico = filaGrilla.FindControl("DropDownList_NivAcademico") as DropDownList;
            String NIVEL_ACADEMICO = dropnivAcademico.SelectedValue;

            TextBox textoInstitucion = filaGrilla.FindControl("TextBox_Institucion") as TextBox;
            String INSTITUCION = textoInstitucion.Text;

            Int32 ANNO = 0;
            TextBox textoAnno = filaGrilla.FindControl("TextBox_Anno") as TextBox;
            if (String.IsNullOrEmpty(textoAnno.Text) == false)
            {
                ANNO = Convert.ToInt32(textoAnno.Text);
            }
            else
            {
                ANNO = 0;
            }

            TextBox textoObservaciones = filaGrilla.FindControl("TextBox_Observaciones") as TextBox;
            String OBSERVACIONES = textoObservaciones.Text;

            FormacionAcademica _formacionParaLista = new FormacionAcademica();

            _formacionParaLista.ACTIVO = true;
            _formacionParaLista.ANNO = ANNO;
            _formacionParaLista.CURSO = null;
            _formacionParaLista.DURACION = 0;
            _formacionParaLista.ID_INFO_ACADEMICA = ID_INFO_ACADEMICA;
            _formacionParaLista.INSTITUCION = INSTITUCION;
            _formacionParaLista.NIVEL_ACADEMICO = NIVEL_ACADEMICO;
            _formacionParaLista.OBSERVACIONES = OBSERVACIONES;
            _formacionParaLista.REGISTRO_ENTREVISTA = 0;
            _formacionParaLista.TIPO_EDUCACION = TIPO_EDUCACION;
            _formacionParaLista.UNIDAD_DURACION = null;

            listaFormacionAcademica.Add(_formacionParaLista);
        }

        for (int i = 0; i < GridView_EducacionNoFormal.Rows.Count; i++)
        {
            GridViewRow filaGrilla = GridView_EducacionNoFormal.Rows[i];

            String TIPO_EDUCACION = "NO FORMAL";

            Decimal ID_INFO_ACADEMICA = Convert.ToDecimal(GridView_EducacionNoFormal.DataKeys[i].Values["ID_INFO_ACADEMICA"]);

            TextBox textoCurso = filaGrilla.FindControl("TextBox_Curso") as TextBox;
            String CURSO = textoCurso.Text;

            TextBox textoInstitucion = filaGrilla.FindControl("TextBox_Institucion") as TextBox;
            String INSTITUCION = textoInstitucion.Text;

            Decimal DURACION = 0;
            TextBox textoDuracion = filaGrilla.FindControl("TextBox_Duracion") as TextBox;
            if (String.IsNullOrEmpty(textoDuracion.Text) == false)
            {
                DURACION = Convert.ToDecimal(textoDuracion.Text);
            }
            else
            {
                DURACION = 0;
            }

            DropDownList dropUnidadDuracion = filaGrilla.FindControl("DropDownList_UnidadDuracion") as DropDownList;
            String UNIDAD_DURACION = dropUnidadDuracion.SelectedValue;

            TextBox textoobservaciones = filaGrilla.FindControl("TextBox_Observaciones") as TextBox;
            String OBSERVACIONES = textoobservaciones.Text;

            FormacionAcademica _formacionParaLista = new FormacionAcademica();

            _formacionParaLista.ACTIVO = true;
            _formacionParaLista.ANNO = 0;
            _formacionParaLista.CURSO = CURSO;
            _formacionParaLista.DURACION = DURACION;
            _formacionParaLista.ID_INFO_ACADEMICA = ID_INFO_ACADEMICA;
            _formacionParaLista.INSTITUCION = INSTITUCION;
            _formacionParaLista.NIVEL_ACADEMICO = null;
            _formacionParaLista.OBSERVACIONES = OBSERVACIONES;
            _formacionParaLista.REGISTRO_ENTREVISTA = 0;
            _formacionParaLista.TIPO_EDUCACION = TIPO_EDUCACION;
            _formacionParaLista.UNIDAD_DURACION = UNIDAD_DURACION;

            listaFormacionAcademica.Add(_formacionParaLista);

        }

        List<ExperienciaLaboral> listaExperiencia = new List<ExperienciaLaboral>();
        for (int i = 0; i < GridView_ExperienciaLaboral.Rows.Count; i++)
        {
            GridViewRow filaGrilla = GridView_ExperienciaLaboral.Rows[i];

            Decimal ID_EXPERIENCIA = Convert.ToDecimal(GridView_ExperienciaLaboral.DataKeys[i].Values["ID_EXPERIENCIA"]);

            TextBox textoEmpresa = filaGrilla.FindControl("TextBox_Empresa") as TextBox;
            String EMPRESA = textoEmpresa.Text;

            TextBox textoCargo = filaGrilla.FindControl("TextBox_Cargo") as TextBox;
            String CARGO = textoCargo.Text;

            TextBox textoFunciones = filaGrilla.FindControl("TextBox_FuncionesRealizadas") as TextBox;
            String FUNCIONES = textoFunciones.Text;

            DateTime FECHA_INGRESO;
            TextBox textoFechaIngreso = filaGrilla.FindControl("TextBox_FechaIngreso") as TextBox;
            try
            {
                FECHA_INGRESO = Convert.ToDateTime(textoFechaIngreso.Text);
            }
            catch
            {
                FECHA_INGRESO = new DateTime();
            }

            DateTime FECHA_RETIRO;
            TextBox textoFechaRetiro = filaGrilla.FindControl("TextBox_FechaRetiro") as TextBox;
            try
            {
                FECHA_RETIRO = Convert.ToDateTime(textoFechaRetiro.Text);
            }
            catch
            {
                FECHA_RETIRO = new DateTime();
            }

            DropDownList dropMotivoRetiro = filaGrilla.FindControl("DropDownList_MotivoRetiro") as DropDownList;
            String MOTIVO_RETIRO = null;
            if (String.IsNullOrEmpty(dropMotivoRetiro.SelectedValue) == false)
            {
                MOTIVO_RETIRO = dropMotivoRetiro.SelectedValue;
            }

            Decimal ULTIMO_SALARIO = 0;
            TextBox textoUltimoSalario = filaGrilla.FindControl("TextBox_Ultimosalario") as TextBox;
            try
            {
                ULTIMO_SALARIO = Convert.ToDecimal(textoUltimoSalario.Text);
            }
            catch
            {
                ULTIMO_SALARIO = 0;
            }

            ExperienciaLaboral _experienciaParaLista = new ExperienciaLaboral();

            _experienciaParaLista.ACTIVO = true;
            _experienciaParaLista.CARGO = CARGO;
            _experienciaParaLista.EMPRESA_CLIENTE = EMPRESA;
            _experienciaParaLista.FECHA_INGRESO = FECHA_INGRESO;
            _experienciaParaLista.FECHA_RETIRO = FECHA_RETIRO;
            _experienciaParaLista.FUNCIONES = FUNCIONES;
            _experienciaParaLista.ID_EXPERIENCIA = ID_EXPERIENCIA;
            _experienciaParaLista.MOTIVO_RETIRO = MOTIVO_RETIRO;
            _experienciaParaLista.REGISTRO_ENTREVISTA = 0;
            _experienciaParaLista.ULTIMO_SALARIO = ULTIMO_SALARIO;

            listaExperiencia.Add(_experienciaParaLista);
        }

        List<ComposicionFamiliar> listaComposicionFamiliar = new List<ComposicionFamiliar>();
        for (int i = 0; i < GridView_ComposicionFamiliar.Rows.Count; i++)
        {
            GridViewRow filaGrilla = GridView_ComposicionFamiliar.Rows[i];

            Decimal ID_COMPOSICION = Convert.ToDecimal(GridView_ComposicionFamiliar.DataKeys[i].Values["ID_COMPOSICION"]);

            DropDownList dropTipoFamiliar = filaGrilla.FindControl("DropDownList_TipoFamiliar") as DropDownList;
            String ID_TIPO_FAMILIAR = dropTipoFamiliar.SelectedValue;

            TextBox textoNombres = filaGrilla.FindControl("TextBox_NombresFamiliar") as TextBox;
            String NOMBRES_FAMILIAR = textoNombres.Text;

            TextBox textoApellidos = filaGrilla.FindControl("TextBox_ApellidosFamiliar") as TextBox;
            String APELLIDOS_FAMILIAR = textoApellidos.Text;

            DateTime FECHA_NACIMIENTO = new DateTime();
            TextBox textoFechaNacimiento = filaGrilla.FindControl("TextBox_FechaNacimientoFamiliar") as TextBox;
            try
            {
                FECHA_NACIMIENTO = Convert.ToDateTime(textoFechaNacimiento.Text);
            }
            catch
            {
                FECHA_NACIMIENTO = new DateTime();
            }

            TextBox textoProfesion = filaGrilla.FindControl("TextBox_ProfesionFamiliar") as TextBox;
            String PROFESION = textoProfesion.Text;

            CheckBox checkExtrajero = filaGrilla.FindControl("CheckBox_Extranjero") as CheckBox;
            DropDownList dropCiudad = filaGrilla.FindControl("DropDownList_CiudadFamiliar") as DropDownList;
            String ID_CIUDAD = dropCiudad.SelectedValue;
            if (checkExtrajero.Checked == true)
            {
                ID_CIUDAD = "EXTRA";
            }

            Boolean VIVE_CON_EL = false;
            CheckBox checkViveConEl = filaGrilla.FindControl("CheckBox_ViveConElFamiliar") as CheckBox;
            if (checkViveConEl.Checked == true)
            {
                VIVE_CON_EL = true;
            }

            Boolean ACTIVO = true;

            ComposicionFamiliar _composicionParaLista = new ComposicionFamiliar();

            _composicionParaLista.ACTIVO = ACTIVO;
            _composicionParaLista.APELLIDOS = APELLIDOS_FAMILIAR;
            _composicionParaLista.FECHA_NACIMIENTO = FECHA_NACIMIENTO;
            _composicionParaLista.ID_CIUDAD = ID_CIUDAD;
            _composicionParaLista.ID_COMPOSICION = ID_COMPOSICION;
            _composicionParaLista.ID_TIPO_FAMILIAR = ID_TIPO_FAMILIAR;
            _composicionParaLista.NOMBRES = NOMBRES_FAMILIAR;
            _composicionParaLista.PROFESION = PROFESION;
            _composicionParaLista.REGISTRO_ENTREVISTA = 0;
            _composicionParaLista.VIVE_CON_EL = VIVE_CON_EL;

            listaComposicionFamiliar.Add(_composicionParaLista);
        }

        String RH = null;
        if (String.IsNullOrEmpty(DropDownList_RH.SelectedValue) == false)
        {
            RH = DropDownList_RH.SelectedValue;
        }

        Dictionary<String, String> listaCamposValidarRestricciones = new Dictionary<String, String>();
        listaCamposValidarRestricciones.Add("APELLIDOS", APELLIDOS);
        listaCamposValidarRestricciones.Add("NOMBRES", NOMBRES);
        listaCamposValidarRestricciones.Add("DIRECCIÓN", DIR_ASPIRANTE);
        listaCamposValidarRestricciones.Add("BARRIO", SECTOR);
        listaCamposValidarRestricciones.Add("TELÉFONO", TEL_ASPIRANTE);
        listaCamposValidarRestricciones.Add("E-MAIL", E_MAIL);
        listaCamposValidarRestricciones.Add("CELULAR", CEL_ASPIRANTE);

        CrtRestriccionPalabra _restricciones = new CrtRestriccionPalabra(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        _restricciones.listaPalabrasEntrada = listaCamposValidarRestricciones;
        _restricciones.ComprobarListaPalabras();

        if (_restricciones.listaPalabrasSalida.Count <= 0)
        {
            DataTable tablaComprobacion = _rad.ObtenerRegSolicitudesingresoPorNumDocIdentidad(NUM_DOC_IDENTIDAD);

            if (tablaComprobacion.Rows.Count > 0)
            {
                DataRow filaComprobacion = tablaComprobacion.Rows[0];

                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El número de documento " + NUM_DOC_IDENTIDAD + " ya se encuentra registrado en la Base de Datos.<br>Fecha Registro: " + filaComprobacion["FECHA_R"].ToString().Trim() + ", Usuario: " + filaComprobacion["USU_CRE"].ToString().Trim() + ", Nombre Candidato: " + filaComprobacion["NOMBRES"].ToString().Trim() + " " + filaComprobacion["APELLIDOS"].ToString().Trim() + ".<BR>NO SE PUDO CREAR EL REGISTRO.", Proceso.Advertencia);
                return false;
            }
            else
            {
                Decimal ID_SOLICITUD = _rad.AdicionarRegSolicitudesingreso(DateTime.Now, APELLIDOS, NOMBRES, TIP_DOC_IDENTIDAD, NUM_DOC_IDENTIDAD, CIU_CEDULA, LIB_MILITAR, CAT_LIC_COND, DIR_ASPIRANTE, SECTOR, CIU_ASPIRANTE, TEL_ASPIRANTE, SEXO, FCH_NACIMIENTO, ID_GRUPOS_PRIMARIOS, ID_FUENTE, CONDUCTO, NIV_EDUCACION, E_MAIL, ID_AREASINTERES, ASPIRACION_SALARIAL, EXPERIENCIA, ID_OCUPACION, NUCLEO_FORMACION, TALLA_CAMISA, TALLA_PANTALON, TALLA_ZAPATOS, ESTRATO, NRO_HIJOS, C_FMLIA, CEL_ASPIRANTE, ESTADO_CIVIL, ID_PAIS, TIPO_VIVIENDA, FUENTE_CONOCIMIENTO, listaFormacionAcademica, listaExperiencia, listaComposicionFamiliar, RH);

                if (ID_SOLICITUD <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _rad.MensajeError, Proceso.Error);
                    return false;
                }
                else
                {
                    HiddenField_ID_SOLICITUD.Value = ID_SOLICITUD.ToString();
                    HiddenField_AccionSobreFormulario.Value = AccionesForm.Modificar.ToString();
                    return true;
                }
            }
        }
        else
        {
            Int32 contador = 0;
            String mensaje = "";
            foreach (KeyValuePair<String, String> restriccion in _restricciones.listaPalabrasSalida)
            {
                if (contador <= 0)
                {
                    mensaje = restriccion.Value;
                }
                else
                {
                    mensaje += "</br>" + restriccion.Value;
                }

                contador += 1;
            }

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, mensaje, Proceso.Advertencia);
            return false;
        }
    }