/// <summary>
    /// hecho por cesar pulido
    /// el dia 19 de diciembr de 2012
    /// para obtener los archivos de las afiliaciones
    /// </summary>
    /// <param name="prefijoNombreArchivo"></param>
    /// <returns></returns>
    public Dictionary<String, byte[]> ObtenerArchivosAfiliaciones(String prefijoNombreArchivo, Decimal ID_CONTRATO)
    {
        Dictionary<String, byte[]> listaArchivos = new Dictionary<string, byte[]>();

        /*
            ,[ARCHIVO_RADICACION]
            ,[ARCHIVO_RADICACION_EXTENSION]
            ,[ARCHIVO_RADICACION_TAMANO]
            ,[ARCHIVO_RADICACION_TYPE]
        */
        afiliacion _afiliacion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        // ARP
        DataTable TablaArchivoRadicacionARP = _afiliacion.ObtenerDocsRadicacionPorCOntratoYEntidad(ID_CONTRATO, EntidadesAfiliacion.ARP.ToString());
        if (TablaArchivoRadicacionARP.Rows.Count > 0)
        {
            DataRow fila = TablaArchivoRadicacionARP.Rows[0];

            byte[] ARCHIVO_RADICACION = (byte[])fila["ARCHIVO_RADICACION"];
            String ARCHIVO_RADICACION_EXTENSION = fila["ARCHIVO_RADICACION_EXTENSION"].ToString();

            listaArchivos.Add(prefijoNombreArchivo + "AFILIACION_ARP" + ARCHIVO_RADICACION_EXTENSION, ARCHIVO_RADICACION);
        }

        // EPS
        DataTable TablaArchivoRadicacionEPS = _afiliacion.ObtenerDocsRadicacionPorCOntratoYEntidad(ID_CONTRATO, EntidadesAfiliacion.EPS.ToString());
        if (TablaArchivoRadicacionEPS.Rows.Count > 0)
        {
            DataRow fila = TablaArchivoRadicacionEPS.Rows[0];

            byte[] ARCHIVO_RADICACION = (byte[])fila["ARCHIVO_RADICACION"];
            String ARCHIVO_RADICACION_EXTENSION = fila["ARCHIVO_RADICACION_EXTENSION"].ToString();

            listaArchivos.Add(prefijoNombreArchivo + "AFILIACION_EPS" + ARCHIVO_RADICACION_EXTENSION, ARCHIVO_RADICACION);
        }

        // CCF
        DataTable TablaArchivoRadicacionCCF = _afiliacion.ObtenerDocsRadicacionPorCOntratoYEntidad(ID_CONTRATO, EntidadesAfiliacion.CAJA.ToString());
        if (TablaArchivoRadicacionCCF.Rows.Count > 0)
        {
            DataRow fila = TablaArchivoRadicacionCCF.Rows[0];

            byte[] ARCHIVO_RADICACION = (byte[])fila["ARCHIVO_RADICACION"];
            String ARCHIVO_RADICACION_EXTENSION = fila["ARCHIVO_RADICACION_EXTENSION"].ToString();

            listaArchivos.Add(prefijoNombreArchivo + "AFILIACION_CCF" + ARCHIVO_RADICACION_EXTENSION, ARCHIVO_RADICACION);
        }

        // AFP
        DataTable TablaArchivoRadicacionAFP = _afiliacion.ObtenerDocsRadicacionPorCOntratoYEntidad(ID_CONTRATO, EntidadesAfiliacion.AFP.ToString());
        if (TablaArchivoRadicacionAFP.Rows.Count > 0)
        {
            DataRow fila = TablaArchivoRadicacionAFP.Rows[0];

            byte[] ARCHIVO_RADICACION = (byte[])fila["ARCHIVO_RADICACION"];
            String ARCHIVO_RADICACION_EXTENSION = fila["ARCHIVO_RADICACION_EXTENSION"].ToString();

            listaArchivos.Add(prefijoNombreArchivo + "AFILIACION_AFP" + ARCHIVO_RADICACION_EXTENSION, ARCHIVO_RADICACION);
        }

        return listaArchivos;
    }
    private String cargar_caja(Decimal ID_AFILIACION_CAJA, Decimal ID_SOLICITUD, Decimal ID_EMPLEADO)
    {
        afiliacion _afilicaion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        /* REVISADO POR CAMBIOS EN FECHA DE RADICACION */
        DataTable tablaAfiliacion = _afilicaion.ObtenerconafiliacionCajasCPorRegistro(Convert.ToInt32(ID_AFILIACION_CAJA));

        if (tablaAfiliacion.Rows.Count > 0)
        {
            String TABLA_AFILIACION_CCF = "<br />";

            DataRow fila = tablaAfiliacion.Rows[0];

            String FECHA_RADICACION = "Desconocida.";
            if (DBNull.Value.Equals(fila["FECHA_RADICACION"]) == false)
            {
                FECHA_RADICACION = Convert.ToDateTime(fila["FECHA_RADICACION"]).ToShortDateString();
            }

            String FECHA_INICIACION = "Desconocida.";
            if (DBNull.Value.Equals(fila["FECHA_R"]) == false)
            {
                FECHA_INICIACION = Convert.ToDateTime(fila["FECHA_R"]).ToShortDateString();
            }

            String ENTIDAD = fila["NOM_ENTIDAD"].ToString().Trim();

            String OBSERVACIONES = fila["OBSERVACIONES"].ToString().Trim();

            TABLA_AFILIACION_CCF += "<div style=\"text-align: left; margin: 0 0 0 20px; text-decoration: underline; font-weight: bold;\">";
            TABLA_AFILIACION_CCF += "AFILIACIÓN: CAJA DE COMPENSACIÓN FAMILIAR";
            TABLA_AFILIACION_CCF += "</div>";
            TABLA_AFILIACION_CCF += "<br />";
            TABLA_AFILIACION_CCF += "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">";
            TABLA_AFILIACION_CCF += "<tr>";
            TABLA_AFILIACION_CCF += "<td style=\"font-weight:bold; width:180px;\">";
            TABLA_AFILIACION_CCF += "FECHA RADICACIÓN:";
            TABLA_AFILIACION_CCF += "</td>";
            TABLA_AFILIACION_CCF += "<td>";
            TABLA_AFILIACION_CCF += FECHA_RADICACION;
            TABLA_AFILIACION_CCF += "</td>";
            TABLA_AFILIACION_CCF += "<td style=\"font-weight:bold; width:180px;\">";
            TABLA_AFILIACION_CCF += "FECHA INICIACIÓN:";
            TABLA_AFILIACION_CCF += "</td>";
            TABLA_AFILIACION_CCF += "<td>";
            TABLA_AFILIACION_CCF += FECHA_INICIACION;
            TABLA_AFILIACION_CCF += "</td>";
            TABLA_AFILIACION_CCF += "</tr>";
            TABLA_AFILIACION_CCF += "<tr>";
            TABLA_AFILIACION_CCF += "<td style=\"font-weight:bold; width:180px;\">";
            TABLA_AFILIACION_CCF += "ENTIDAD:";
            TABLA_AFILIACION_CCF += "</td>";
            TABLA_AFILIACION_CCF += "<td colspan=\"3\">";
            TABLA_AFILIACION_CCF += ENTIDAD;
            TABLA_AFILIACION_CCF += "</td>";
            TABLA_AFILIACION_CCF += "</tr>";
            TABLA_AFILIACION_CCF += "<tr>";
            TABLA_AFILIACION_CCF += "<td style=\"font-weight:bold; width:180px;\">";
            TABLA_AFILIACION_CCF += "OBSERVACIONES:";
            TABLA_AFILIACION_CCF += "</td>";
            TABLA_AFILIACION_CCF += "<td colspan=\"3\">";
            TABLA_AFILIACION_CCF += OBSERVACIONES;
            TABLA_AFILIACION_CCF += "</td>";
            TABLA_AFILIACION_CCF += "</tr>";
            TABLA_AFILIACION_CCF += "</table>";

            return TABLA_AFILIACION_CCF;
        }
        else
        {
            return null;
        }
    }
    private bool Actualizar(afiliacion.Entidades entidad)
    {
        bool actualizado = true;
        afiliacion Afiliacion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        try
        {

            switch (entidad)
            {
                case afiliacion.Entidades.Arl:
                    if (!Afiliacion.ActualizarconafiliacionArp(Convert.ToInt32(HiddenField_id_arl.Value),
                        Convert.ToInt32(HiddenField_ID_SOLICITUD.Value),
                        Convert.ToInt32(DropDownList_ENTIDAD_ARP.SelectedValue),
                        Convert.ToDateTime(TextBox_fecha_r.Text),
                        TextBox_ARP_OBSERVACIONES.Text,
                        Convert.ToInt32(HiddenField_ID_REQUERIMIENTO.Value))) actualizado = false;
                    break;
                case afiliacion.Entidades.Eps:
                    if (!Afiliacion.ActualizarconafiliacionEps(Convert.ToInt32(HiddenField_id_eps.Value),
                        Convert.ToInt32(HiddenField_ID_SOLICITUD.Value),
                        Convert.ToInt32(DropDownList_ENTIDAD_EPS.SelectedValue),
                        Convert.ToDateTime(TextBox_fecha_EPS.Text),
                        TextBox_COMENTARIOS_EPS.Text,
                        Convert.ToInt32(HiddenField_ID_REQUERIMIENTO.Value))) actualizado = false;
                    break;
                case afiliacion.Entidades.Afp:
                    if (!Afiliacion.Actualizarconafiliacionfpensiones(Convert.ToInt32(this.HiddenField_id_afp.Value),
                        Convert.ToInt32(HiddenField_ID_SOLICITUD.Value),
                        Convert.ToInt32(DropDownList_AFP.SelectedValue),
                        Convert.ToDateTime(TextBox_Fecha_AFP.Text),
                        TextBox_COMENTARIOS_AFP.Text,
                        DropDownList_pensionado.SelectedValue.ToString(),
                        Convert.ToInt32(HiddenField_ID_REQUERIMIENTO.Value),
                        DropDownList_tipo_pensionado.SelectedValue,
                        TextBox_Numero_resolucion_tramite.Text)) actualizado = false;

                    break;
                case afiliacion.Entidades.Ccf:
                    if (!Afiliacion.ActualizarconafiliacionCajasC(Convert.ToInt32(HiddenField_id_ccf.Value),
                        Convert.ToInt32(HiddenField_ID_SOLICITUD.Value),
                        Convert.ToInt32(DropDownList_ENTIDAD_Caja.SelectedValue),
                        Convert.ToDateTime(TextBox_Fecha_Caja.Text),
                        TextBox_observaciones_Caja.Text,
                        Convert.ToInt32(HiddenField_ID_REQUERIMIENTO.Value),
                        DropDownList_CiudadCajaC.SelectedValue)) actualizado = false;
                    break;
            }
        }
        catch (Exception e)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, e.Message, Proceso.Error);
        }
        return actualizado;
    }
    protected void Button_GUARDAR_AFPClick(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(HiddenField_id_afp.Value))
        {
            if (Actualizar(afiliacion.Entidades.Afp)) Informar(Panel_FONDO_MENSAJE_AFP, Image_MENSAJE_AFP_POPUP, Panel_MENSAJES_AFP, Label_MENSAJE_AFP, "El registro ha sido actualizado correctamente.", Proceso.Correcto);
            else Informar(Panel_FONDO_MENSAJE_AFP, Image_MENSAJE_AFP_POPUP, Panel_MENSAJES_AFP, Label_MENSAJE_AFP, "El registro NO ha sido actualizado", Proceso.Error);
            cargar_GridView_AFP(HiddenField_ID_SOLICITUD.Value, HiddenField_ID_REQUERIMIENTO.Value);

            TextBox_Fecha_AFP.Text = "";
            TextBox_Fecha_AFP.Enabled = false;
            TextBox_COMENTARIOS_AFP.Text = "";
            TextBox_COMENTARIOS_AFP.Enabled = false;
            DropDownList_AFP.Enabled = false;
            DropDownList_pensionado.Enabled = false;
            Panel_registros_afp.Visible = false;
        }
        else
        {
            int idSolicitud = 0;
            int idRequerimiento = 0;
            int idAFP = 0;
            String pensionado = null;
            String observaciones = null;
            DateTime fecha_r;
            String tipo_pensionado = null;
            String numero = null;

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

            idSolicitud = Convert.ToInt32(HiddenField_ID_SOLICITUD.Value);
            idRequerimiento = Convert.ToInt32(HiddenField_ID_REQUERIMIENTO.Value);
            if (DropDownList_AFP.SelectedValue.Equals(""))
            {
                idAFP = 0;
            }
            else
            {
                idAFP = Convert.ToInt32(DropDownList_AFP.SelectedValue);
            }
            fecha_r = Convert.ToDateTime(TextBox_Fecha_AFP.Text);
            observaciones = TextBox_COMENTARIOS_AFP.Text;
            pensionado = DropDownList_pensionado.SelectedValue;
            if (pensionado.Equals("S"))
            {
                tipo_pensionado = DropDownList_tipo_pensionado.SelectedValue;
                numero = TextBox_Numero_resolucion_tramite.Text;
            }

            if (String.IsNullOrEmpty(observaciones))
            {
                observaciones = "Ninguna";
            }
            afiliacion _AFP = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            _AFP.Adicionarconafiliacionfpensiones(idSolicitud, idAFP, fecha_r, observaciones, pensionado, idRequerimiento, tipo_pensionado, numero);

            if (_AFP.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE_AFP, Image_MENSAJE_AFP_POPUP, Panel_MENSAJES_AFP, Label_MENSAJE_AFP, _AFP.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE_AFP, Image_MENSAJE_AFP_POPUP, Panel_MENSAJES_AFP, Label_MENSAJE_AFP, "La afiliación fue adicionado correctamente.", Proceso.Correcto);

                TextBox_Fecha_AFP.Text = "";
                TextBox_Fecha_AFP.Enabled = false;
                TextBox_COMENTARIOS_AFP.Text = "";
                TextBox_COMENTARIOS_AFP.Enabled = false;
                DropDownList_AFP.Enabled = false;
                DropDownList_pensionado.Enabled = false;
                cargar_GridView_AFP(idSolicitud.ToString(), idRequerimiento.ToString());
                Panel_registros_afp.Visible = false;

                ActualizarContratoTemporal(Convert.ToDecimal(idRequerimiento), Convert.ToDecimal(idSolicitud));
            }
        }
    }
    protected void GridView_CAJA_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int indexSeleccionado = Convert.ToInt32(e.CommandArgument);

        if (e.CommandName == "seleccionar")
        {
            string REGISTRO = GridView_CAJA.DataKeys[indexSeleccionado].Values["REGISTRO"].ToString();
            HiddenField_id_ccf.Value = REGISTRO;
            afiliacion _CCF = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable _TablaAfiliacionCCF = _CCF.ObtenerconafiliacionCajasCPorRegistro(Convert.ToInt32(REGISTRO));
            DataRow _filaSeleccionada = _TablaAfiliacionCCF.Rows[0];

            TextBox_Fecha_Caja.Text = Convert.ToDateTime(_filaSeleccionada["FECHA_R"]).ToShortDateString();
            TextBox_Fecha_Caja.Enabled = false;

            cargar_DropDownList_ENTIDAD_CAJA();
            DropDownList_ENTIDAD_Caja.SelectedValue = _filaSeleccionada["ID_CAJA_C"].ToString().Trim();
            DropDownList_ENTIDAD_Caja.DataBind();

            try
            {
                llenarDropDepartamentos(Convert.ToDecimal(GridView_CAJA.DataKeys[indexSeleccionado].Values["ID_CAJA_C"].ToString()));

                DropDownList_DepartamentoCajaC.SelectedValue = GridView_CAJA.DataKeys[indexSeleccionado].Values["ID_DEPARTAMENTO"].ToString();

                llenarDropCiudades(GridView_CAJA.DataKeys[indexSeleccionado].Values["ID_DEPARTAMENTO"].ToString(), Convert.ToDecimal(GridView_CAJA.DataKeys[indexSeleccionado].Values["ID_CAJA_C"].ToString()));

               DropDownList_CiudadCajaC.SelectedValue = GridView_CAJA.DataKeys[indexSeleccionado].Values["ID_CIUDAD"].ToString();
            }
            catch
            {
                llenarDropDepartamentos(Convert.ToDecimal(REGISTRO));

                DropDownList_CiudadCajaC.Items.Clear();
                DropDownList_CiudadCajaC.Items.Add(new ListItem("Seleccione...", ""));
                DropDownList_CiudadCajaC.DataBind();
            }

            TextBox_observaciones_Caja.Text = _filaSeleccionada["OBSERVACIONES"].ToString();
            TextBox_observaciones_Caja.Enabled = true;

            Panel_Registro_CCF.Visible = true;
        }
    }
    protected void GridView_EPS_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int indexSeleccionado = Convert.ToInt32(e.CommandArgument);

        if (e.CommandName == "seleccionar")
        {
            string REGISTRO = GridView_EPS.DataKeys[indexSeleccionado].Values["REGISTRO"].ToString();
            afiliacion _EPS = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            HiddenField_id_eps.Value = REGISTRO;
            DataTable _TablaAfiliacionEPS = _EPS.ObtenerconafiliacionEpsPorRegistro(Convert.ToInt32(REGISTRO));
            DataRow _filaSeleccionada = _TablaAfiliacionEPS.Rows[0];

            TextBox_fecha_EPS.Text = Convert.ToDateTime(_filaSeleccionada["FECHA_R"]).ToShortDateString();
            TextBox_fecha_EPS.Enabled = false;
            cargar_DropDownList_ENTIDAD_EPS();
            DropDownList_ENTIDAD_EPS.SelectedValue = _filaSeleccionada["ID_EPS"].ToString();
            DropDownList_ENTIDAD_EPS.DataBind();
            TextBox_COMENTARIOS_EPS.Text = _filaSeleccionada["OBSERVACIONES"].ToString();
            TextBox_COMENTARIOS_EPS.Enabled = true;

            Panel_registro_EPS.Visible = true;
        }
    }
    protected void Button_GUARDAR_EPS_Click(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(HiddenField_id_eps.Value))
        {
            if (Actualizar(afiliacion.Entidades.Eps)) Informar(Panel_FONDO_MENSAJE_EPS, Image_MENSAJE_EPS_POPUP, Panel_MENSAJES_EPS, Label_MENSAJE_EPS, "El registro ha sido actualizado correctamente.", Proceso.Correcto);
            else Informar(Panel_FONDO_MENSAJE_EPS, Image_MENSAJE_EPS_POPUP, Panel_MENSAJES_EPS, Label_MENSAJE_EPS, "El registro NO ha sido actualizado.", Proceso.Correcto);
            cargar_GridView_EPS(HiddenField_ID_SOLICITUD.Value, HiddenField_ID_REQUERIMIENTO.Value);

            TextBox_fecha_EPS.Text = "";
            TextBox_fecha_EPS.Enabled = false;
            TextBox_COMENTARIOS_EPS.Text = "";
            TextBox_COMENTARIOS_EPS.Enabled = false;
            DropDownList_ENTIDAD_EPS.Enabled = false;
            Panel_registro_EPS.Visible = false;
        }
        else
        {

        int idSolicitud = 0;
        int idRequerimiento = 0;
        int idEPS = 0;
        String observaciones = null;
        DateTime fecha_r;

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

        idSolicitud = Convert.ToInt32(HiddenField_ID_SOLICITUD.Value);
        idRequerimiento = Convert.ToInt32(HiddenField_ID_REQUERIMIENTO.Value);
        idEPS = Convert.ToInt32(DropDownList_ENTIDAD_EPS.SelectedValue);
        fecha_r = Convert.ToDateTime(TextBox_fecha_EPS.Text);
        observaciones = TextBox_COMENTARIOS_EPS.Text;
        if (String.IsNullOrEmpty(observaciones))
        {
            observaciones = "Ninguna";
        }
        afiliacion _EPS = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        _EPS.AdicionarconafiliacionEps(idSolicitud, idEPS, fecha_r, observaciones, idRequerimiento);

        if (_EPS.MensajeError != null)
        {
            Informar(Panel_FONDO_MENSAJE_EPS, Image_MENSAJE_EPS_POPUP, Panel_MENSAJES_EPS, Label_MENSAJE_EPS, _EPS.MensajeError, Proceso.Error);
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE_EPS, Image_MENSAJE_EPS_POPUP, Panel_MENSAJES_EPS, Label_MENSAJE_EPS, "La afiliación fue adicionado correctamente.", Proceso.Correcto);
        }

        TextBox_fecha_EPS.Text = "";
        TextBox_fecha_EPS.Enabled = false;
        TextBox_COMENTARIOS_EPS.Text = "";
        TextBox_COMENTARIOS_EPS.Enabled = false;
        DropDownList_ENTIDAD_EPS.Enabled = false;
        cargar_GridView_EPS(idSolicitud.ToString(), idRequerimiento.ToString());
        Panel_registro_EPS.Visible = false;

        ActualizarContratoTemporal(Convert.ToDecimal(idRequerimiento), Convert.ToDecimal(idSolicitud));
        }
    }
    private void cargar_eps(Decimal ID_AFILIACION_EPS, Decimal ID_SOLICITUD, Decimal ID_EMPLEADO)
    {
        Decimal ID_CONTRATO = Convert.ToDecimal(HiddenField_ID_CONTRATO.Value);

        afiliacion _afilicaion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaAfiliacion = _afilicaion.ObtenerconafiliacionEpsPorRegistro(Convert.ToInt32(ID_AFILIACION_EPS));

        DataTable tablaHistorial = _afilicaion.ObtenerconafiliacionEpsPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD));

        if (tablaHistorial.Rows.Count <= 0)
        {
            Panel_GRILLA_EPS.Visible = false;
        }
        else
        {
            Panel_GRILLA_EPS.Visible = true;
            GridView_EPS.DataSource = tablaHistorial;
            GridView_EPS.DataBind();
        }

        cargar_DropDownList_ENTIDAD_EPS();

        DataRow fila;
        if (tablaAfiliacion.Rows.Count > 0)
        {
            fila = tablaAfiliacion.Rows[0];

            auditoriaContratos _auditoriaContratos = new auditoriaContratos(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            DataTable tablaUltimaAuditoria = _auditoriaContratos.ObtenerUltimaAuditoriaPorTablaYEmpleado(tabla.CON_AFILIACION_EPS, ID_EMPLEADO);
            if (tablaUltimaAuditoria.Rows.Count > 0)
            {
                DataRow filaInfoAuditoria = tablaUltimaAuditoria.Rows[0];
                Panel_CABEZA_AFILIACION_EPS.BackColor = colorAuditado;
                Label_AFILIACION_EPS_AUDITADA.Text = "(AUDITADO) - " + Convert.ToDateTime(filaInfoAuditoria["FECHA_AUDITORIA"]).ToShortDateString();
            }
            else
            {
                Panel_CABEZA_AFILIACION_EPS.BackColor = colorSinAuditar;
                Label_AFILIACION_EPS_AUDITADA.Text = "(SIN AUDITAR)";

                if (String.IsNullOrEmpty(HiddenField_SECCIONES_SIN_AUDITORIA.Value) == true)
                {
                    HiddenField_SECCIONES_SIN_AUDITORIA.Value = SeccionesAuditoria.AfiliacionEPS.ToString();
                }
                else
                {
                    HiddenField_SECCIONES_SIN_AUDITORIA.Value = ";" + SeccionesAuditoria.AfiliacionEPS.ToString();
                }
            }

            try
            {
                TextBox_FECHA_R_EPS.Text = Convert.ToDateTime(fila["FECHA_R"]).ToShortDateString();
            }
            catch
            {
                TextBox_FECHA_R_EPS.Text = "";
            }
            HiddenField_FECHA_R_EPS.Value = TextBox_FECHA_R_EPS.Text;

            try
            {
                TextBox_FECHA_RADICACION_EPS.Text = Convert.ToDateTime(fila["FECHA_RADICACION"]).ToShortDateString();
            }
            catch
            {
                TextBox_FECHA_RADICACION_EPS.Text = "";
            }
            HiddenField_FECHA_RADICACION_EPS.Value = TextBox_FECHA_RADICACION_EPS.Text;

            DataTable TablaArchivoRadicacion = _afilicaion.ObtenerDocsRadicacionPorCOntratoYEntidad(ID_CONTRATO, EntidadesAfiliacion.EPS.ToString());
            if (TablaArchivoRadicacion.Rows.Count > 0)
            {
                SecureQueryString QueryStringSeguro;
                tools _tools = new tools();

                Panel_ARCHIVO_AFILIACION_EPS.Visible = true;

                QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());
                QueryStringSeguro["contrato"] = ID_CONTRATO.ToString();
                QueryStringSeguro["afiliacion"] = EntidadesAfiliacion.EPS.ToString();

                HyperLink_ARCHIVO_AFILIACION_EPS.NavigateUrl = "~/contratacion/visorDocsAfiliaciones.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString());
            }
            else
            {
                Panel_ARCHIVO_AFILIACION_EPS.Visible = false;
            }

            try
            {
                DropDownList_ENTIDAD_EPS.SelectedValue = fila["ID_EPS"].ToString();
            }
            catch
            {
                DropDownList_ENTIDAD_EPS.ClearSelection();
            }
            HiddenField_ENTIDAD_EPS.Value = fila["ID_EPS"].ToString();

            TextBox_OBS_EPS.Text = fila["OBSERVACIONES"].ToString().Trim();
            HiddenField_OBS_EPS.Value = fila["OBSERVACIONES"].ToString().Trim();

            Label_ID_AFILIACION_EPS.Text = ID_AFILIACION_EPS.ToString();
        }
        else
        {
            HiddenField_FECHA_R_EPS.Value = "";
            HiddenField_FECHA_RADICACION_EPS.Value = "";

            Label_ID_AFILIACION_EPS.Text = "Sin asignar";

            TextBox_FECHA_R_EPS.Text = "";
            TextBox_FECHA_RADICACION_EPS.Text = "";

            DropDownList_ENTIDAD_EPS.ClearSelection();
            HiddenField_ENTIDAD_EPS.Value = "";

            TextBox_OBS_EPS.Text = "";
            HiddenField_OBS_EPS.Value = "";

            Panel_CABEZA_AFILIACION_EPS.BackColor = colorSinAuditar;
            Label_AFILIACION_EPS_AUDITADA.Text = "(SIN AUDITAR)";

            if (String.IsNullOrEmpty(HiddenField_SECCIONES_SIN_AUDITORIA.Value) == true)
            {
                HiddenField_SECCIONES_SIN_AUDITORIA.Value = SeccionesAuditoria.AfiliacionEPS.ToString();
            }
            else
            {
                HiddenField_SECCIONES_SIN_AUDITORIA.Value = ";" + SeccionesAuditoria.AfiliacionEPS.ToString();
            }

            Panel_ARCHIVO_AFILIACION_EPS.Visible = false;
        }
    }
    private void llenarDropCiudades(string id_departamento, Decimal registro)
    {
        DropDownList_CiudadCajaC.Items.Clear();

        DropDownList_CiudadCajaC.Items.Add(new ListItem("Seleccione...", ""));

        afiliacion _afi = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCiudades = _afi.ObtenerCiudadesCajaC(registro, "CCF", id_departamento);

        foreach (DataRow fila in tablaCiudades.Rows)
        {
            DropDownList_CiudadCajaC.Items.Add(new ListItem(fila["CIUDAD"].ToString(), fila["ID_CIUDAD"].ToString()));
        }

        DropDownList_CiudadCajaC.DataBind();
    }
    private void llenarDropDepartamentos(decimal registro)
    {
        DropDownList_DepartamentoCajaC.Items.Clear();

        DropDownList_DepartamentoCajaC.Items.Add(new ListItem("Seleccione...", ""));

        afiliacion _afi = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaDepartamentos = _afi.ObtenerDepartamentosCajaC(registro, "CCF");

        foreach (DataRow fila in tablaDepartamentos.Rows)
        {
            DropDownList_DepartamentoCajaC.Items.Add(new ListItem(fila["DEPARTAMENTO"].ToString(), fila["ID_DEPARTAMENTO"].ToString()));
        }

        DropDownList_DepartamentoCajaC.DataBind();
    }
    private void cargar_GridView_EPS(String idSolicitud, String idRequerimiento)
    {
        afiliacion _AfiliacionEPS = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaCargos = _AfiliacionEPS.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(idSolicitud), Convert.ToInt32(idRequerimiento));

        if (tablaCargos.Rows.Count > 0)
        {
            GridView_EPS.DataSource = tablaCargos;
            GridView_EPS.DataBind();
        }
        else
        {
            GridView_EPS.DataSource = null;
            GridView_EPS.DataBind();
        }

        for (int i = 0; i < GridView_EPS.Rows.Count; i++)
        {
            if (i == 0)
            {
                GridView_EPS.Rows[i].BackColor = System.Drawing.Color.Green;
            }
            else
            {
                GridView_EPS.Rows[i].BackColor = System.Drawing.Color.Transparent;
            }
        }
    }
    private void cargar_afiliaciones_eps(Decimal ID_CONTRATO, Decimal ID_EMPLEADO, Decimal ID_REQUERIMIENTO)
    {
        Decimal ID_SOLICITUD = Convert.ToDecimal(Label_ID_SOLICITUD.Text);

        afiliacion _afiliacion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaAfiliacionEPS = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimientoHV(Convert.ToInt32(ID_SOLICITUD), Convert.ToInt32(ID_REQUERIMIENTO));

        Ocultar(Acciones.eps);

        if (tablaAfiliacionEPS.Rows.Count <= 0)
        {
            if (_afiliacion.MensajeError == null)
            {
                Informar(Panel_MENSAJE_EPS, Label_MENSAJE_EPS, "no se encontraron afiliaciones a EPS para este contrato.", Proceso.Error);
            }
            else
            {
                Informar(Panel_MENSAJE_EPS, Label_MENSAJE_EPS, _afiliacion.MensajeError, Proceso.Error);
            }

            GridView_EPS.DataSource = null;
            GridView_EPS.DataBind();
        }
        else
        {
            GridView_EPS.DataSource = tablaAfiliacionEPS;
            GridView_EPS.DataBind();

            GridView_EPS.Rows[0].BackColor = colorContratoActivo;
        }
    }
    protected void Button_ACTUALIZAR_AFILIACION_F_PENSIONES_Click(object sender, EventArgs e)
    {
        tools _tools = new tools();

        Decimal ID_SOLICITUD = Convert.ToDecimal(TextBox_ID_SOLICITUD.Text);
        Decimal ID_REQUERIMIENTO = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value);
        Decimal ID_EMPLEADO = Convert.ToDecimal(Label_ID_EMPLEADO.Text);
        Decimal ID_CONTRATO = Convert.ToDecimal(HiddenField_ID_CONTRATO.Value);

        DateTime FECHA_R;
        DateTime FECHA_RADICACION;
        String PENSIONADO = "N";
        String TIPO_PENSIONADO = null;
        String NUMERO_RESOLUCIOON_TRAMITE = null;
        String OBSERVACIONES;
        Decimal REGISTRO_AFILIACION;

        Decimal ID_ENTIDAD = Convert.ToDecimal(DropDownList_AFP.SelectedValue);
        FECHA_R = Convert.ToDateTime(TextBox_FECHA_R_AFP.Text);
        FECHA_RADICACION = Convert.ToDateTime(TextBox_FECHA_RADICACION_AFP.Text);

        if (DropDownList_pensionado.SelectedValue == "S")
        {
            PENSIONADO = "S";
            TIPO_PENSIONADO = DropDownList_tipo_pensionado.SelectedValue;
            NUMERO_RESOLUCIOON_TRAMITE = TextBox_Numero_resolucion_tramite.Text;
        }

        OBSERVACIONES = TextBox_OBS_AFP.Text.Trim().ToUpper();

        Boolean ACTUALIZAR_ESTADO_PROCESO = true;
        if (HiddenField_PRESENTACION.Value == Presentacion.ContratosActivos.ToString())
        {
            ACTUALIZAR_ESTADO_PROCESO = false;
        }

        Byte[] ARCHIVO_RADICACION = null;
        Int32 ARCHIVO_RADICACION_TAMANO = 0;
        String ARCHIVO_RADICACION_EXTENSION = null;
        String ARCHIVO_RADICACION_TYPE = null;
        if (FileUpload_ARCHIVO_AFILIACION_AFP.HasFile == true)
        {
            using (BinaryReader reader = new BinaryReader(FileUpload_ARCHIVO_AFILIACION_AFP.PostedFile.InputStream))
            {
                ARCHIVO_RADICACION = reader.ReadBytes(FileUpload_ARCHIVO_AFILIACION_AFP.PostedFile.ContentLength);
                ARCHIVO_RADICACION_TAMANO = FileUpload_ARCHIVO_AFILIACION_AFP.PostedFile.ContentLength;
                ARCHIVO_RADICACION_TYPE = FileUpload_ARCHIVO_AFILIACION_AFP.PostedFile.ContentType;
                ARCHIVO_RADICACION_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_ARCHIVO_AFILIACION_AFP.PostedFile.FileName);
            }
        }

        afiliacion _afiliacion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        if (Label_ID_AFILIACION_F_PENSIONES.Text == "Sin asignar")
        {

            REGISTRO_AFILIACION = _afiliacion.AdicionarconafiliacionfpensionesAuditoria(ID_SOLICITUD, ID_ENTIDAD, FECHA_R, OBSERVACIONES, PENSIONADO, ID_REQUERIMIENTO, TIPO_PENSIONADO, NUMERO_RESOLUCIOON_TRAMITE, ID_EMPLEADO, ACTUALIZAR_ESTADO_PROCESO, FECHA_RADICACION, ID_CONTRATO, EntidadesAfiliacion.AFP.ToString(), ARCHIVO_RADICACION, ARCHIVO_RADICACION_TAMANO, ARCHIVO_RADICACION_EXTENSION, ARCHIVO_RADICACION_TYPE);

            if (REGISTRO_AFILIACION == 0)
            {
                Informar(Panel_MENSAJES, Label_MENSAJE, _afiliacion.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_MENSAJES, Label_MENSAJE, "La información de la afilicaión a fondo de p. fue actualizada correctamente.", Proceso.Correcto);
            }

            cargar_afp(REGISTRO_AFILIACION, ID_SOLICITUD, ID_EMPLEADO);

            presentar_interfaz_segun_resultado();
        }
        else
        {

            if ((HiddenField_ENTIDAD_AFP.Value != DropDownList_AFP.SelectedValue) || (HiddenField_FECHA_R_AFP.Value != TextBox_FECHA_R_AFP.Text) || (HiddenField_FECHA_RADICACION_AFP.Value != TextBox_FECHA_RADICACION_AFP.Text) || (HiddenField_OBS_AFP.Value != TextBox_OBS_AFP.Text) || (DropDownList_pensionado.SelectedValue != HiddenField_pensionado.Value) || (DropDownList_tipo_pensionado.SelectedValue != HiddenField_tipo_pensionado.Value) || (TextBox_Numero_resolucion_tramite.Text != HiddenField_resolucion_tramite.Value) || (ARCHIVO_RADICACION != null))
            {

                REGISTRO_AFILIACION = _afiliacion.AdicionarconafiliacionfpensionesAuditoria(ID_SOLICITUD, ID_ENTIDAD, FECHA_R, OBSERVACIONES, PENSIONADO, ID_REQUERIMIENTO, TIPO_PENSIONADO, NUMERO_RESOLUCIOON_TRAMITE, ID_EMPLEADO, ACTUALIZAR_ESTADO_PROCESO, FECHA_RADICACION, ID_CONTRATO, EntidadesAfiliacion.AFP.ToString(), ARCHIVO_RADICACION,ARCHIVO_RADICACION_TAMANO, ARCHIVO_RADICACION_EXTENSION, ARCHIVO_RADICACION_TYPE);

                if (REGISTRO_AFILIACION == 0)
                {
                    Informar(Panel_MENSAJES, Label_MENSAJE, _afiliacion.MensajeError, Proceso.Error);
                }
                else
                {
                    Informar(Panel_MENSAJES, Label_MENSAJE, "La información de la afilicaión a fondo de p. fue actualizada correctamente.", Proceso.Correcto);
                }
            }
            else
            {
                REGISTRO_AFILIACION = Convert.ToDecimal(Label_ID_AFILIACION_F_PENSIONES.Text);

                auditoriaContratos _auditoriaContratos = new auditoriaContratos(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                Decimal ID_AUDITORIA = _auditoriaContratos.ActualizarAuditoriaContratosPorSeccionYEstadoProceso(ID_EMPLEADO, tabla.CON_AFILIACION_F_PENSIONES, REGISTRO_AFILIACION, ACTUALIZAR_ESTADO_PROCESO, ID_SOLICITUD, tabla.VAR_ESTADO_PROCESO_CON_AFILIACION_FONDO);

                if (ID_AUDITORIA == 0)
                {
                    Informar(Panel_MENSAJES, Label_MENSAJE, _auditoriaContratos.MensajeError, Proceso.Error);
                }
                else
                {
                    Informar(Panel_MENSAJES, Label_MENSAJE, "La información de la afilicaión a fondo de p. fue actualizada correctamente (solo auditoría).", Proceso.Correcto);
                }
            }

            cargar_afp(REGISTRO_AFILIACION, ID_SOLICITUD, ID_EMPLEADO);

            presentar_interfaz_segun_resultado();
        }
    }
    private String cargar_eps(Decimal ID_AFILIACION_EPS, Decimal ID_SOLICITUD, Decimal ID_EMPLEADO, Decimal ID_CONTRATO)
    {
        afiliacion _afilicaion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        /* revisado por cabios en fecha rqadicacion */
        DataTable tablaAfiliacion = _afilicaion.ObtenerconafiliacionEpsPorRegistro(Convert.ToInt32(ID_AFILIACION_EPS));

        if (tablaAfiliacion.Rows.Count > 0)
        {
            String TABLA_AFILIACION_EPS = "<br />";

            DataRow fila = tablaAfiliacion.Rows[0];

            String FECHA_RADICACION = "Desconocida.";
            if (DBNull.Value.Equals(fila["FECHA_RADICACION"]) == false)
            {
                FECHA_RADICACION = Convert.ToDateTime(fila["FECHA_RADICACION"]).ToShortDateString();
            }

            String FECHA_INICIACION = "Desconocida.";
            if (DBNull.Value.Equals(fila["FECHA_R"]) == false)
            {
                FECHA_INICIACION = Convert.ToDateTime(fila["FECHA_R"]).ToShortDateString();
            }

            String ENTIDAD = fila["NOM_ENTIDAD"].ToString().Trim();

            String OBSERVACIONES = fila["OBSERVACIONES"].ToString().Trim();

            TABLA_AFILIACION_EPS += "<div style=\"text-align: left; margin: 0 0 0 20px; text-decoration: underline; font-weight: bold;\">";
            TABLA_AFILIACION_EPS += "AFILIACIÓN: ENTIDAD PROMOTORA DE SALUD";
            TABLA_AFILIACION_EPS += "</div>";
            TABLA_AFILIACION_EPS += "<br />";
            TABLA_AFILIACION_EPS += "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">";
            TABLA_AFILIACION_EPS += "<tr>";
            TABLA_AFILIACION_EPS += "<td style=\"font-weight:bold; width:180px;\">";
            TABLA_AFILIACION_EPS += "FECHA RADICACIÓN:";
            TABLA_AFILIACION_EPS += "</td>";
            TABLA_AFILIACION_EPS += "<td>";
            TABLA_AFILIACION_EPS += FECHA_RADICACION;
            TABLA_AFILIACION_EPS += "</td>";
            TABLA_AFILIACION_EPS += "<td style=\"font-weight:bold; width:180px;\">";
            TABLA_AFILIACION_EPS += "FECHA INICIACIÓN:";
            TABLA_AFILIACION_EPS += "</td>";
            TABLA_AFILIACION_EPS += "<td>";
            TABLA_AFILIACION_EPS += FECHA_INICIACION;
            TABLA_AFILIACION_EPS += "</td>";
            TABLA_AFILIACION_EPS += "</tr>";
            TABLA_AFILIACION_EPS += "<tr>";
            TABLA_AFILIACION_EPS += "<td style=\"font-weight:bold; width:180px;\">";
            TABLA_AFILIACION_EPS += "ENTIDAD:";
            TABLA_AFILIACION_EPS += "</td>";
            TABLA_AFILIACION_EPS += "<td colspan=\"3\">";
            TABLA_AFILIACION_EPS += ENTIDAD;
            TABLA_AFILIACION_EPS += "</td>";
            TABLA_AFILIACION_EPS += "</tr>";
            TABLA_AFILIACION_EPS += "<tr>";
            TABLA_AFILIACION_EPS += "<td style=\"font-weight:bold; width:180px;\">";
            TABLA_AFILIACION_EPS += "OBSERVACIONES:";
            TABLA_AFILIACION_EPS += "</td>";
            TABLA_AFILIACION_EPS += "<td colspan=\"3\">";
            TABLA_AFILIACION_EPS += OBSERVACIONES;
            TABLA_AFILIACION_EPS += "</td>";
            TABLA_AFILIACION_EPS += "</tr>";
            TABLA_AFILIACION_EPS += "</table>";

            return TABLA_AFILIACION_EPS;
        }
        else
        {
            return null;
        }
    }
    protected void GridView_AFP_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int indexSeleccionado = Convert.ToInt32(e.CommandArgument);

        if (e.CommandName == "seleccionar")
        {
            string REGISTRO = GridView_AFP.DataKeys[indexSeleccionado].Values["REGISTRO"].ToString();
            HiddenField_id_afp.Value = REGISTRO;
            afiliacion _AFP = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable _TablaAfiliacionAFP = _AFP.ObtenerconafiliacionfpensionesPorRegistro(Convert.ToInt32(REGISTRO));
            DataRow _filaSeleccionada = _TablaAfiliacionAFP.Rows[0];

            TextBox_Fecha_AFP.Text = Convert.ToDateTime(_filaSeleccionada["FECHA_R"]).ToShortDateString();
            TextBox_Fecha_AFP.Enabled = false;

            cargar_DropDownList_ENTIDAD_AFP();
            DropDownList_AFP.SelectedValue = _filaSeleccionada["ID_F_PENSIONES"].ToString();
            DropDownList_AFP.DataBind();

            TextBox_COMENTARIOS_AFP.Text = _filaSeleccionada["OBSERVACIONES"].ToString().Trim();
            TextBox_COMENTARIOS_AFP.Enabled = true;

            cargar_DropDownList_pensionado();
            try
            {
                DropDownList_pensionado.SelectedValue = _filaSeleccionada["PENSIONADO"].ToString();
            }
            catch
            {
                DropDownList_pensionado.SelectedIndex = 0;
            }
            DropDownList_pensionado.DataBind();
            DropDownList_pensionado.Enabled = true;

            if (DropDownList_pensionado.SelectedValue == "S")
            {
                cargar_DropDownList_tipo_Pensionado();
                try
                {
                    DropDownList_tipo_pensionado.SelectedValue = _filaSeleccionada["TIPO_PENSIONADO"].ToString();
                }
                catch
                {
                    DropDownList_tipo_pensionado.SelectedIndex = 0;
                }
                DropDownList_tipo_pensionado.Enabled = true;

                TextBox_Numero_resolucion_tramite.Text = _filaSeleccionada["NUMERO_RESOLUCION_TRAMITE"].ToString().Trim();
                TextBox_Numero_resolucion_tramite.Enabled = true;

                panel_tipo_pensionado.Visible = true;
            }
            else
            {
                DropDownList_tipo_pensionado.Items.Clear();
                TextBox_Numero_resolucion_tramite.Text = "";

                panel_tipo_pensionado.Visible = false;
            }

            Panel_registros_afp.Visible = true;
        }
    }
    protected void Button_Guardar_Click(object sender, EventArgs e)
    {
        try
        {
            if (DropDownList_Clase_contrato.SelectedValue == ClaseContrato.IN.ToString())
            {
                parametroSalarial ParametroSalarial = new parametroSalarial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataRow dataRow = ParametroSalarial.ObtenerPorAño(System.DateTime.Now.Year);
                if (dataRow != null)
                {
                    if (string.IsNullOrEmpty(dataRow["SMMLV"].ToString()))
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se ha definido el SMMLV para el año " + System.DateTime.Now.Year.ToString(), Proceso.Error);
                        return;
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(dataRow["SMMLV_SALARIO_INTEGRAL"].ToString()))
                        {
                            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se ha definido la cantidad de SMMLV del salario integral, para el año" + System.DateTime.Now.Year.ToString(), Proceso.Error);
                            return;
                        }
                        else
                        {

                            if ((Convert.ToDecimal(this.TextBox_Salario.Text)) < (Convert.ToDecimal(dataRow["SMMLV_SALARIO_INTEGRAL"].ToString()) * Convert.ToDecimal(dataRow["SMMLV"].ToString())))
                            {
                                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El salario integral es menor al permitido " + (Convert.ToDecimal(dataRow["SMMLV_SALARIO_INTEGRAL"].ToString()) * Convert.ToDecimal(dataRow["SMMLV"].ToString())), Proceso.Error);
                                return;
                            }
                            else
                            {
                                if (!(Convert.ToDecimal(TextBox_contrato_integral_porcentaje_parafiscales.Text).Equals(Convert.ToDecimal(dataRow["PORC_BASE_SEGSOC_SALINTEGRAL"].ToString()))))
                                {
                                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El porcentaje parafiscal debe ser " + dataRow["PORC_BASE_SEGSOC_SALINTEGRAL"].ToString(), Proceso.Error);
                                    return;
                                }
                                else
                                {
                                    if (!(Convert.ToDecimal(TextBox_contrato_integral_porcentaje_prestacional.Text).Equals(Convert.ToDecimal(dataRow["PORC_BASE_VACACIONES_SALINTEGRAL"].ToString()))))
                                    {
                                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El porcentaje prestacional debe ser " + dataRow["PORC_BASE_VACACIONES_SALINTEGRAL"].ToString(), Proceso.Error);
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se han configurado los parametros salariales para el año " + System.DateTime.Now.Year.ToString(), Proceso.Error);
                    return;
                }
            }

            tools _tools = new tools();
            SecureQueryString QueryStringSeguro;
            QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);
            String persona = QueryStringSeguro["persona"].ToString();
            String[] datos = persona.Split(',');

            requisicion _req = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaReq = _req.ObtenerComRequerimientoPorIdRequerimiento(Convert.ToDecimal(datos[1]));
            DataRow filaReq = tablaReq.Rows[0];
            String idPerfil = filaReq["REGISTRO_PERFIL"].ToString();
            Decimal riesgo = 0;
            String centroCosto = "0";
            String SubCentroCosto = "0";
            String Ciudad = null;
            String servicio = "0";
            Decimal salario = 0;
            Decimal smmlv = 0;
            Decimal smmlv_integral = 0;
            String AFP = null;
            String ARP = null;
            String CCF = null;
            String EPS = null;
            String pensionado = "N";
            int id_requerimiento = Convert.ToInt32(datos[1].ToString());
            int id_solicitud = Convert.ToInt32(datos[0].ToString());
            int id_empresa = Convert.ToInt32(datos[3].ToString());
            int ID_SERVICIO_RESPECTIVO = Convert.ToInt32(filaReq["ID_SERVICIO_RESPECTIVO"].ToString());
            String clase_Contrato = null;
            String tipo_Contrato = null;
            DateTime fechaInicio;
            DateTime fechaFinal;

            int id_entidad_Bancaria = 0;
            String formaPago = null;
            String tipoCuenta = String.Empty;
            String num_Cuenta = null;

            String salInt = null;
            String pago_Dias_Productividad = "N";
            String sena_productivo = "N";
            String sena_electivo = "N";
            String practicante_Universitario = "N";
            Decimal valor_nomina = 0;
            Decimal valor_contrato = 0;
            DateTime fecha_inicio_periodo;
            DateTime fecha_fin_periodo;
            String periodo_pago = null;

            radicacionHojasDeVida _sol = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaSolicitud = _sol.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(datos[0]));
            DataRow filaSolicitud = tablaSolicitud.Rows[0];

            formaPago = filaSolicitud["FORMA_PAGO"].ToString();

            parametroSalarial par = new parametroSalarial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable par_ta = par.ObtenerSalarioMinimo(Convert.ToInt32(System.DateTime.Today.Year.ToString()));
            DataRow fila = par_ta.Rows[0];
            smmlv = Convert.ToDecimal(fila["SMMLV"].ToString());
            par_ta.Clear();
            fila.Delete();
            par_ta = par.ObtenerSalarioIntegral(Convert.ToInt32(System.DateTime.Today.Year.ToString()));
            fila = par_ta.Rows[0];
            smmlv_integral = Convert.ToDecimal(fila["SMMLV_SALARIO_INTEGRAL"].ToString());

            Ciudad = this.DropDownList_Ciudad.SelectedValue;
            centroCosto = this.DropDownList_CentroCosto.SelectedValue;
            SubCentroCosto = this.DropDownList_sub_cc.SelectedValue;

            if (DropDownList_Salario_integral.SelectedValue.Equals("S"))
            {
                salario = Convert.ToDecimal(TextBox_Salario.Text);
                Decimal salarioInt = smmlv * smmlv_integral;
                if (salario < salarioInt)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El salario ingresado debe ser igual o mayor a " + salarioInt + " dado que indico que es salario integral", Proceso.Advertencia);
                }
            }

            #region afiliaciones
            afiliacion _afiliacion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable tablaAfiliacion;
            DataRow filaAfiliacion;
            if (RadioButton_PRACTICANTE_UNI.Checked)
            {
                practicante_Universitario = "S";
                pensionado = "N";
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionArpPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a ARL", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    ARP = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

                tablaAfiliacion = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a EPS.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];

                    EPS = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }
            }
            else if (RadioButton_SENA_ELECTIVO.Checked)
            {
                sena_electivo = "S";
                pensionado = "N";
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a EPS.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];

                    EPS = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

            }
            else if (RadioButton_SENA_PRODUCTIVO.Checked)
            {
                sena_productivo = "S";
                pensionado = "N";
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a EPS.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];

                    EPS = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionArpPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a ARL.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    ARP = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }
            }
            else
            {
                tablaAfiliacion = _afiliacion.ObtenerconafiliacionEpsPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a EPS.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];

                    EPS = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

                tablaAfiliacion = _afiliacion.ObtenerconafiliacionArpPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a ARL.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    ARP = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

                tablaAfiliacion = _afiliacion.ObtenerconafiliacionCajasCPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a CCF.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    CCF = filaAfiliacion["REGISTRO"].ToString();

                    tablaAfiliacion.Clear();
                    filaAfiliacion.Delete();
                }

                tablaAfiliacion = _afiliacion.ObtenerconafiliacionfpensionesPorSolicitudRequerimiento(Convert.ToInt32(datos[0]), Convert.ToInt32(datos[1]));
                if (tablaAfiliacion.Rows.Count <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La persona no tiene afiliaciones a AFP.", Proceso.Advertencia);
                }
                else
                {
                    filaAfiliacion = tablaAfiliacion.Rows[0];
                    pensionado = filaAfiliacion["PENSIONADO"].ToString();
                    if (pensionado.Equals("S"))
                    {
                        AFP = "0";
                    }
                    else
                    {
                        AFP = filaAfiliacion["REGISTRO"].ToString();
                    }
                }
            }
            #endregion afiliaciones
            #region riesgo
            condicionesContratacion _riesgo = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            if (Session["idEmpresa"].ToString().Equals("3"))
            {
                if (String.IsNullOrEmpty(DropDownList_servicio.SelectedValue.ToString()))
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Debe seleccionar un servicio.", Proceso.Advertencia);
                }
                else
                {
                    if (!(String.IsNullOrEmpty(DropDownList_sub_cc.SelectedValue.ToString())))
                    {
                        DataTable tablaCondContr = _riesgo.ObtenerCondicionContratacionPorIdPerfilIdSubCIdServicio(Convert.ToDecimal(idPerfil), Convert.ToDecimal(DropDownList_sub_cc.SelectedItem.Value.ToString()), Convert.ToDecimal(DropDownList_servicio.SelectedItem.Value.ToString()));
                        DataRow filaCondContrata = tablaCondContr.Rows[0];
                        riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                        SubCentroCosto = DropDownList_sub_cc.SelectedValue;
                        servicio = DropDownList_servicio.SelectedValue;
                    }
                    else if (!(String.IsNullOrEmpty(DropDownList_CentroCosto.SelectedValue.ToString())))
                    {
                        DataTable tablaCondContr = _riesgo.ObtenerCondicionContratacionPorIdPerfilIdCentroCIdServicio(Convert.ToDecimal(idPerfil), Convert.ToDecimal(DropDownList_CentroCosto.SelectedItem.Value.ToString()), Convert.ToDecimal(DropDownList_servicio.SelectedItem.Value.ToString()));
                        DataRow filaCondContrata = tablaCondContr.Rows[0];
                        riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                        centroCosto = DropDownList_CentroCosto.SelectedValue;
                        servicio = DropDownList_servicio.SelectedValue;
                    }
                    else if (!(String.IsNullOrEmpty(DropDownList_Ciudad.SelectedValue.ToString())))
                    {
                        DataTable tablaCondContr = _riesgo.ObtenerCondicionContratacionPorIdPerfilIdCiudadIdServicio(Convert.ToDecimal(idPerfil), DropDownList_Ciudad.SelectedItem.Value.ToString(), Convert.ToDecimal(DropDownList_servicio.SelectedItem.Value.ToString()));
                        DataRow filaCondContrata = tablaCondContr.Rows[0];
                        riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                        Ciudad = DropDownList_Ciudad.SelectedValue;
                        servicio = DropDownList_servicio.SelectedValue;
                    }
                }
            }
            else
            {
                if (!(String.IsNullOrEmpty(DropDownList_sub_cc.SelectedValue.ToString())))
                {
                    DataTable tablaCondContr = _riesgo.ObtenerCondicionComercialPorIdPerfilIdSubC(Convert.ToDecimal(idPerfil), Convert.ToDecimal(DropDownList_sub_cc.SelectedItem.Value.ToString()));
                    DataRow filaCondContrata = tablaCondContr.Rows[0];
                    riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                    SubCentroCosto = DropDownList_sub_cc.SelectedValue;
                }
                else if (!(String.IsNullOrEmpty(DropDownList_CentroCosto.SelectedValue.ToString())))
                {
                    DataTable tablaCondContr = _riesgo.ObtenerCondicionComercialPorIdPerfilIdCentroC(Convert.ToDecimal(idPerfil), Convert.ToDecimal(DropDownList_CentroCosto.SelectedItem.Value.ToString()));
                    DataRow filaCondContrata = tablaCondContr.Rows[0];
                    riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                    centroCosto = DropDownList_CentroCosto.SelectedValue;
                }
                else if (!(String.IsNullOrEmpty(DropDownList_Ciudad.SelectedValue.ToString())))
                {
                    DataTable tablaCondContr = _riesgo.ObtenerCondicionComercialPorIdPerfilIdCiudad(Convert.ToDecimal(idPerfil), DropDownList_Ciudad.SelectedItem.Value.ToString());
                    DataRow filaCondContrata = tablaCondContr.Rows[0];
                    riesgo = Convert.ToDecimal(filaCondContrata["RIESGO"].ToString());
                    Ciudad = DropDownList_Ciudad.SelectedValue;
                }
            }
            #endregion riesgo

            clase_Contrato = DropDownList_Clase_contrato.SelectedItem.Value.ToString();
            tipo_Contrato = DropDownList_tipo_Contrato.SelectedItem.Value.ToString();

            if (clase_Contrato.Equals("C_A") == true)
            {
                fechaInicio = Convert.ToDateTime(TextBox_contrato_aprendiz_fecha_inicio.Text);
            }
            else
            {
                fechaInicio = Convert.ToDateTime(TextBox_fecha_inicio.Text);
            }

            if (clase_Contrato.Equals("I") | clase_Contrato.Equals("L_S_C_D_A") )
            {
                fechaFinal = Convert.ToDateTime("01/01/1900");
            }
            else
            {
                if (clase_Contrato.Equals("C_A") == true)
                {
                    fechaFinal = Convert.ToDateTime(TextBox_contrato_aprendiz_fecha_final.Text);
                }
                else
                {
                    fechaFinal = Convert.ToDateTime(TextBox_fecha_terminacion.Text);
                }
            }

            if (formaPago.Equals("CHEQUE") | formaPago.Equals("EFECTIVO"))
            {
                num_Cuenta = null;
                id_entidad_Bancaria = 0;
                tipoCuenta = String.Empty;
            }
            else
            {
                if (String.IsNullOrEmpty(filaSolicitud["ID_ENTIDAD"].ToString()))
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se ha seleccionado la entidad bancaria, ni el número de cuenta, vuelva a la opción de exámenes y complete el proceso. Verifique por favor.", Proceso.Advertencia);
                    num_Cuenta = null;
                    id_entidad_Bancaria = 0;
                }
                else
                {
                    id_entidad_Bancaria = Convert.ToInt32(filaSolicitud["ID_ENTIDAD"].ToString());
                    num_Cuenta = filaSolicitud["NUM_CUENTA"].ToString();
                    tipoCuenta = filaSolicitud["TIPO_CUENTA"].ToString();
                }
            }

            salario = Convert.ToDecimal(TextBox_Salario.Text);
            salInt = DropDownList_Salario_integral.SelectedValue.ToString();
            if (DropDownList_tipo_Contrato.SelectedValue.Equals("PR"))
            {
                pago_Dias_Productividad = "S";
                valor_contrato = Convert.ToDecimal(TextBox_Salario.Text);
                valor_nomina = Convert.ToDecimal(TextBox_Salario.Text);
            }

            periodo_pago = DropDownList_PERIODO_PAGO.SelectedValue.ToString();

            fecha_inicio_periodo = fechaInicio;
            fecha_fin_periodo = fechaFinal;

            registroContrato contrato = new registroContrato(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            DataTable tablaContratosExistentes = contrato.ObtenerNomEmpleadoPorIDSolicitudYFechaIngreso(id_solicitud, fechaInicio);

            if (tablaContratosExistentes.Rows.Count <= 0)
            {
                String datosG = contrato.ElaborarContrato(id_requerimiento,
                        id_solicitud,
                        id_empresa,
                        Convert.ToInt32(centroCosto),
                        Convert.ToInt32(SubCentroCosto),
                        Ciudad,
                        ID_SERVICIO_RESPECTIVO,
                        Convert.ToInt32(servicio),
                        Convert.ToInt32(ARP),
                        Convert.ToInt32(CCF),
                        Convert.ToInt32(EPS),
                        Convert.ToInt32(AFP),
                        Convert.ToDecimal(riesgo),
                        pensionado,
                        clase_Contrato,
                        tipo_Contrato,
                        "C",
                        fechaInicio,
                        fechaFinal,
                        salInt,
                        salario,
                        "S",
                        "S",
                        "N",
                        "N",
                        id_entidad_Bancaria,
                        num_Cuenta,
                        formaPago,
                        pago_Dias_Productividad,
                        sena_productivo,
                        sena_electivo,
                        practicante_Universitario,
                        valor_contrato,
                        valor_nomina,
                        fecha_inicio_periodo,
                        fecha_fin_periodo,
                        periodo_pago,
                        tipoCuenta,
                        DropDownList_DESCRIPCION_SALARIO.SelectedValue.ToString(),
                        Convert.ToDecimal(HiddenField_ID_PERFIL.Value));

                if (!(String.IsNullOrEmpty(contrato.MensajeError)))
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El empleado no fue creado, " + contrato.MensajeError, Proceso.Error);
                }
                else
                {
                    String[] d = datosG.Split(',');
                    HiddenField_ID_CONTRATO.Value = d[0];
                    HiddenField_persona.Value = id_solicitud + "," + id_requerimiento + "," + datos[2] + "," + datos[3] + "," + datos[4] + "," + datosG;

                    Clausula clausula = new Clausula(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                    Cargar(clausula.ObtenerContratacionPorIdEmpleado(Convert.ToDecimal(d[1])), GridView_clausulas);
                    HiddenField_ID_EMPLEADO.Value = d[1].ToString();
                    cargar_menu_botones_modulos_internos(false);

                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El empleado y el contrato fueron creados con exito: " + datosG, Proceso.Correcto);
                }

                configurarBotonesDeAccion(true, true, true, true);

                Panel_Informacion_Contrato.Enabled = false;
            }
            else
            {
                DataRow filaContratos = tablaContratosExistentes.Rows[0];

                String datosG = filaContratos["ID_CONTRATO"].ToString() + "," + filaContratos["ID_EMPLEADO"].ToString();
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El Trabajador ya tiene un contrato activo con la misma fecha de ingreso. Los datos del contrato son: " + datosG, Proceso.Correcto);
            }
        }
        catch (Exception err)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, err.Message, Proceso.Error);
        }
    }
    private void cargar_caja(Decimal ID_AFILIACION_CAJA, Decimal ID_SOLICITUD, Decimal ID_EMPLEADO)
    {
        Decimal ID_CONTRATO = Convert.ToDecimal(HiddenField_ID_CONTRATO.Value);

        afiliacion _afilicaion = new afiliacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaAfiliacion = _afilicaion.ObtenerconafiliacionCajasCPorRegistro(Convert.ToInt32(ID_AFILIACION_CAJA));

        DataTable tablaHistorial = _afilicaion.ObtenerconafiliacionCajasCPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD));

        if (tablaHistorial.Rows.Count <= 0)
        {
            Panel_GRILLA_CAJA.Visible = false;
        }
        else
        {
            Panel_GRILLA_CAJA.Visible = true;
            GridView_CAJA.DataSource = tablaHistorial;
            GridView_CAJA.DataBind();
        }

        cargar_DropDownList_ENTIDAD_CAJA();

        DataRow fila;
        if (tablaAfiliacion.Rows.Count > 0)
        {
            fila = tablaAfiliacion.Rows[0];

            auditoriaContratos _auditoriaContratos = new auditoriaContratos(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            DataTable tablaUltimaAuditoria = _auditoriaContratos.ObtenerUltimaAuditoriaPorTablaYEmpleado(tabla.CON_AFILIACION_CAJAS_C, ID_EMPLEADO);

            if (tablaUltimaAuditoria.Rows.Count > 0)
            {
                DataRow filaInfoAuditoria = tablaUltimaAuditoria.Rows[0];
                Panel_CABEZA_AFILIACION_CCF.BackColor = colorAuditado;
                Label_AFILIACION_CCF_AUDITADA.Text = "(AUDITADO) - " + Convert.ToDateTime(filaInfoAuditoria["FECHA_AUDITORIA"]).ToShortDateString();
            }
            else
            {
                Panel_CABEZA_AFILIACION_CCF.BackColor = colorSinAuditar;
                Label_AFILIACION_CCF_AUDITADA.Text = "(SIN AUDITAR)";

                if (String.IsNullOrEmpty(HiddenField_SECCIONES_SIN_AUDITORIA.Value) == true)
                {
                    HiddenField_SECCIONES_SIN_AUDITORIA.Value = SeccionesAuditoria.AfiliacionCCF.ToString();
                }
                else
                {
                    HiddenField_SECCIONES_SIN_AUDITORIA.Value = ";" + SeccionesAuditoria.AfiliacionCCF.ToString();
                }
            }

            try
            {
                TextBox_FECHA_R_CAJA.Text = Convert.ToDateTime(fila["FECHA_R"]).ToShortDateString();
            }
            catch
            {
                TextBox_FECHA_R_CAJA.Text = "";
            }
            HiddenField_FECHA_R_CAJA.Value = Convert.ToDateTime(fila["FECHA_R"]).ToShortDateString();

            try
            {
                TextBox_FECHA_RADICACION_CAJA.Text = Convert.ToDateTime(fila["FECHA_RADICACION"]).ToShortDateString();
            }
            catch
            {
                TextBox_FECHA_RADICACION_CAJA.Text = "";
            }
            HiddenField_FECHA_RADICACION_CAJA.Value = TextBox_FECHA_RADICACION_CAJA.Text;

            DataTable TablaArchivoRadicacion = _afilicaion.ObtenerDocsRadicacionPorCOntratoYEntidad(ID_CONTRATO, EntidadesAfiliacion.CAJA.ToString());
            if (TablaArchivoRadicacion.Rows.Count > 0)
            {
                SecureQueryString QueryStringSeguro;
                tools _tools = new tools();

                Panel_ARCHIVO_AFILIACION_CAJA.Visible = true;

                QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());
                QueryStringSeguro["contrato"] = ID_CONTRATO.ToString();
                QueryStringSeguro["afiliacion"] = EntidadesAfiliacion.CAJA.ToString();

                HyperLink_ARCHIVO_AFILIACION_CAJA.NavigateUrl = "~/contratacion/visorDocsAfiliaciones.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString());
            }
            else
            {
                Panel_ARCHIVO_AFILIACION_CAJA.Visible = false;
            }

            try
            {
                DropDownList_ENTIDAD_Caja.SelectedValue = fila["ID_CAJA_C"].ToString();
            }
            catch
            {
                DropDownList_ENTIDAD_Caja.ClearSelection();
            }

            HiddenField_ENTIDAD_Caja.Value = fila["ID_CAJA_C"].ToString();

            TextBox_OBS_CAJA.Text = fila["OBSERVACIONES"].ToString().Trim();
            HiddenField_OBS_CAJA.Value = fila["OBSERVACIONES"].ToString().Trim();

            Label_ID_AFILIACION_CAJA_C.Text = ID_AFILIACION_CAJA.ToString();

            llenarDropDepartamentos(Convert.ToDecimal(fila["ID_CAJA_C"]));

            if (DropDownList_ENTIDAD_Caja.SelectedValue == "43" || DropDownList_ENTIDAD_Caja.SelectedItem.Text.ToUpper() == "SIN CAJA")
            {
                Panel_CiudadCaja.Visible = false;
                DropDownList_DepartamentoCajaC.ClearSelection();
                DropDownList_CiudadCajaC.Items.Clear();
                DropDownList_CiudadCajaC.Items.Add(new System.Web.UI.WebControls.ListItem("Seleccione...", ""));
            }
            else
            {
                Panel_CiudadCaja.Visible = true;

                try
                {
                    DropDownList_DepartamentoCajaC.SelectedValue = fila["ID_DEPARTAMENTO"].ToString();
                    llenarDropCiudades(fila["ID_DEPARTAMENTO"].ToString(), Convert.ToDecimal(fila["ID_CAJA_C"]));
                    DropDownList_CiudadCajaC.SelectedValue = fila["ID_CIUDAD"].ToString();
                }
                catch
                {
                    limpiar_DropDownList(DropDownList_CiudadCajaC);
                }
            }
        }
        else
        {
            HiddenField_FECHA_R_CAJA.Value = "";
            HiddenField_FECHA_RADICACION_CAJA.Value = "";

            Label_ID_AFILIACION_CAJA_C.Text = "Sin asignar";

            TextBox_FECHA_R_CAJA.Text = "";
            TextBox_FECHA_RADICACION_CAJA.Text = "";

            DropDownList_ENTIDAD_Caja.ClearSelection();
            HiddenField_ENTIDAD_Caja.Value = "";

            TextBox_OBS_CAJA.Text = "";
            HiddenField_OBS_CAJA.Value = "";

            Panel_CABEZA_AFILIACION_CCF.BackColor = colorSinAuditar;
            Label_AFILIACION_CCF_AUDITADA.Text = "(SIN AUDITAR)";

            if (String.IsNullOrEmpty(HiddenField_SECCIONES_SIN_AUDITORIA.Value) == true)
            {
                HiddenField_SECCIONES_SIN_AUDITORIA.Value = SeccionesAuditoria.AfiliacionCCF.ToString();
            }
            else
            {
                HiddenField_SECCIONES_SIN_AUDITORIA.Value = ";" + SeccionesAuditoria.AfiliacionCCF.ToString();
            }

            Panel_ARCHIVO_AFILIACION_CAJA.Visible = false;

            Panel_CiudadCaja.Visible = true;

            limpiar_DropDownList(DropDownList_DepartamentoCajaC);
            limpiar_DropDownList(DropDownList_CiudadCajaC);
        }
    }