private void Modificar()
    {
        tools _tools = new tools();
        Byte[] archivo = null;
        Int32 archivo_tamaño = 0;
        String archivo_extension = null;
        String archivo_tipo = null;
        DateTime fecha = new DateTime();
        bool actualizado = false;

        incapacidad _incapacidad = new incapacidad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        Decimal VAL_RECONOCIDO = !String.IsNullOrEmpty(TextBox_VAL_RECONOCIDO.Text) ? Convert.ToDecimal(TextBox_VAL_RECONOCIDO.Text) : 0;

        try
        {
            if (FileUpload_archivo.HasFile == true)
            {
                using (BinaryReader reader = new BinaryReader(FileUpload_archivo.PostedFile.InputStream))
                {
                    archivo = reader.ReadBytes(FileUpload_archivo.PostedFile.ContentLength);
                    archivo_tamaño = FileUpload_archivo.PostedFile.ContentLength;
                    archivo_tipo = FileUpload_archivo.PostedFile.ContentType;
                    archivo_extension = _tools.obtenerExtensionArchivo(FileUpload_archivo.PostedFile.FileName);
                }
            }

            actualizado = _incapacidad.Actualizar(Convert.ToDecimal(TextBox_ID.Text),
                Convert.ToDateTime(TextBox_FECHA.Text),
                DropDownList_TIPO_INCA.SelectedValue,
                DropDownList_CLASE_INCA.SelectedValue,
                DropDownList_PRORROGA.SelectedValue,
                DropDownList_SEVERO.SelectedValue,
                TextBox_OBS_REG.Text, VAL_RECONOCIDO,
                TextBox_NUM_AUTORIZA.Text,
                Convert.ToDateTime(TextBox_FCH_INI_REAL.Text),
                Convert.ToDateTime(TextBox_FCH_TER_REAL.Text),
                DropDownList_DSC_DIAG.SelectedValue,
                Convert.ToInt32(TextBox_DIAS_INCAP.Text),
                DropDownList_INC_CARENCIA.SelectedValue,
                Convert.ToDecimal(DropDownList_ID_CONCEPTO.SelectedValue),
                TextBox_transcripcion_fecha_radicacion.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_transcripcion_fecha_radicacion.Text),
                TextBox_transcripcion_fecha_seguimiento.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_transcripcion_fecha_seguimiento.Text),
                TextBox_transcripcion_numero.Text,
                TextBox_transcripcion_valor.Text == string.Empty ? 0 : Convert.ToDecimal(TextBox_transcripcion_valor.Text),
                TextBox_transcripcion_notas.Text,
                CheckBox_transcripcion_VoBo.Checked,
                TextBox_liquidacion_fecha_radicacion.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_liquidacion_fecha_radicacion.Text),
                TextBox_liquidacion_fecha_seguimiento.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_liquidacion_fecha_seguimiento.Text),
                TextBox_liquidacion_numero.Text,
                TextBox_liquidacion_valor.Text == string.Empty ? 0 : Convert.ToDecimal(TextBox_liquidacion_valor.Text),
                TextBox_liquidacion_notas.Text,
                CheckBox_liquidacion_VoBo.Checked,
                TextBox_reliquidacion_fecha_radicacion.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_reliquidacion_fecha_radicacion.Text),
                TextBox_reliquidacion_fecha_seguimiento.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_reliquidacion_fecha_seguimiento.Text),
                TextBox_reliquidacion_numero.Text,
                TextBox_reliquidacion_valor.Text == string.Empty ? 0 : Convert.ToDecimal(TextBox_reliquidacion_valor.Text),
                TextBox_reliquidacion_notas.Text,
                CheckBox_reliquidacion_VoBo.Checked,
                TextBox_cobro_fecha_radicacion.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_cobro_fecha_radicacion.Text),
                TextBox_cobro_fecha_seguimiento.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_cobro_fecha_seguimiento.Text),
                TextBox_cobro_numero.Text,
                TextBox_cobro_valor.Text == string.Empty ? 0 : Convert.ToDecimal(TextBox_cobro_valor.Text),
                TextBox_cobro_notas.Text,
                CheckBox_cobro_VoBo.Checked,
                TextBox_pago_fecha_radicacion.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_pago_fecha_radicacion.Text),
                TextBox_pago_fecha_seguimiento.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_pago_fecha_seguimiento.Text),
                TextBox_pago_numero.Text,
                TextBox_pago_valor.Text == string.Empty ? 0 : Convert.ToDecimal(TextBox_pago_valor.Text),
                TextBox_pago_notas.Text,
                CheckBox_pago_VoBo.Checked,
                TextBox_objetada_fecha_radicacion.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_objetada_fecha_radicacion.Text),
                TextBox_objetada_fecha_seguimiento.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_objetada_fecha_seguimiento.Text),
                TextBox_objetada_numero.Text,
                TextBox_objetada_valor.Text == string.Empty ? 0 : Convert.ToDecimal(TextBox_objetada_valor.Text),
                TextBox_objetada_notas.Text,
                CheckBox_objetada_VoBo.Checked,
                TextBox_negada_fecha_radicacion.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_negada_fecha_radicacion.Text),
                TextBox_negada_fecha_seguimiento.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_negada_fecha_seguimiento.Text),
                TextBox_negada_numero.Text,
                TextBox_negada_valor.Text == string.Empty ? 0 : Convert.ToDecimal(TextBox_negada_valor.Text),
                TextBox_negada_notas.Text,
                CheckBox_negada_VoBo.Checked,
                DropDownList_estado.SelectedValue,
                DropDownList_estado_tramite.SelectedValue,
                DropDownList_tramitada_por.SelectedValue,
                archivo,
                archivo_tamaño,
                archivo_extension,
                archivo_tipo,
                TextBox_fecha_paga_nomina_desde.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_fecha_paga_nomina_desde.Text),
                TextBox_fecha_paga_nomina_hasta.Text == string.Empty ? fecha : Convert.ToDateTime(TextBox_fecha_paga_nomina_hasta.Text)
                );

            if (actualizado)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La incapacidad fue actualizada correctamente. " , Proceso.Correcto);
                TextBox_ID.Text = ID.ToString();
                Ocultar();
                Mostrar(Acciones.Guarda);
                Bloquear(Acciones.Guarda);

            }
            else Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La incapacidad no fue actualizada. ", Proceso.Error);
        }
        catch (Exception e)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, e.Message, Proceso.Error);
        }
    }
    protected void Button_GuardarAdjunto_Click(object sender, EventArgs e)
    {
        tools _tools = new tools();

        Decimal ID_MAESTRA_COMPROMISO = Convert.ToDecimal(HiddenField_ID_MAESTRA_COMPROMISO.Value);

        Byte[] ARCHIVO = null;
        Int32 ARCHIVO_TAMANO = 0;
        String ARCHIVO_EXTENSION = null;
        String ARCHIVO_TYPE = null;
        if (FileUpload_Adjunto.HasFile == true)
        {
            using (BinaryReader reader = new BinaryReader(FileUpload_Adjunto.PostedFile.InputStream))
            {
                ARCHIVO = reader.ReadBytes(FileUpload_Adjunto.PostedFile.ContentLength);
                ARCHIVO_TAMANO = FileUpload_Adjunto.PostedFile.ContentLength;
                ARCHIVO_TYPE = FileUpload_Adjunto.PostedFile.ContentType;
                ARCHIVO_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_Adjunto.PostedFile.FileName);
            }
        }

        DateTime FECHA_SEGUIMIENTO = Convert.ToDateTime(Label_FechaNuevoSeguimiento.Text);
        String SEGUIMIENTO = TextBox_SeguimientoNuevo.Text.Trim();
        String DESCRIPCION = TextBox_DescripcionAdjunto.Text.Trim();

        Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Decimal ID_SEGUIMIENTO = _programa.AdicionarSeguimientoCompromiso(ID_MAESTRA_COMPROMISO, SEGUIMIENTO, DESCRIPCION, ARCHIVO, ARCHIVO_TAMANO, ARCHIVO_EXTENSION, ARCHIVO_TYPE, FECHA_SEGUIMIENTO);

        if (ID_SEGUIMIENTO <= 0)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _programa.MensajeError, Proceso.Error);
        }
        else
        {
            CargarSeguimientoCompromiso(ID_MAESTRA_COMPROMISO);

            Panel_NuevoAdjunto.Visible = false;
            Button_NuevoAdjunto.Visible = true;
            Button_GuardarAdjunto.Visible = false;
            Button_CancelarAdjunto.Visible = false;

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El seguimiento fue actualizado correctamente.", Proceso.Correcto);
        }
    }
    protected void Button_Guardar_CLAUSULAS_Click(object sender, EventArgs e)
    {
        tools _tools = new tools();
        Byte[] archivo = null;
        Int32 archivo_tamaño = 0;
        String archivo_extension = null;
        String archivo_tipo = null;

        List<Clausula> clausulas = new List<Clausula>();
        Clausula clausula = new Clausula(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        if (!GridView_clausulas.Rows.Count.Equals(0))
        {

            for (int i = 0; i < GridView_clausulas.Rows.Count; i++)
            {
                Clausula c = new Clausula(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                FileUpload fileUpload = GridView_clausulas.Rows[i].FindControl("FileUpload_ARCHIVO") as FileUpload;

                using (BinaryReader reader = new BinaryReader(fileUpload.PostedFile.InputStream))
                {
                    archivo = reader.ReadBytes(fileUpload.PostedFile.ContentLength);
                    archivo_tamaño = fileUpload.PostedFile.ContentLength;
                    archivo_tipo = fileUpload.PostedFile.ContentType;
                    archivo_extension = _tools.obtenerExtensionArchivo(fileUpload.PostedFile.FileName);
                }
                c.IdEmpleado = Convert.ToDecimal(GridView_clausulas.Rows[i].Cells[1].Text);
                c.IdClausua = Convert.ToDecimal(GridView_clausulas.Rows[i].Cells[0].Text);
                c.Archivo = archivo;
                c.ArchivoExtension = archivo_extension;
                c.ArchivoTamaño = archivo_tamaño;
                c.ArchivoTipo = archivo_tipo;
                clausulas.Add(c);
            }
            if (clausula.Actualizar(clausulas))
            {
                Cargar(clausula.ObtenerContratacionPorIdEmpleado(Convert.ToDecimal(HiddenField_ID_EMPLEADO.Value)), GridView_clausulas);
                cargar_menu_botones_modulos_internos(false);
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Las clausulas para el trabajador han sido actualizadas correctamente ", Proceso.Correcto);
            }
            else Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Las clausulas NO han sido actualizadas  ", Proceso.Error);
        }
    }
    private void GuardarPaso2_ResultadosExamenes()
    {
        tools _tools = new tools();

        Int32 ID_REQUERIMIENTO = Convert.ToInt32(HiddenField_ID_REQUERIMIENTO.Value);
        Int32 ID_SOLICITUD = Convert.ToInt32(HiddenField_ID_SOLICITUD.Value);
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);
        Decimal ID_OCUPACION = Convert.ToDecimal(HiddenField_ID_OCUPACION.Value);

        String FORMA_PAGO = DropDownList_forma_pago.SelectedValue;
        Decimal ID_ENTIDAD = 0;
        String TIPO_CUENTA = null;
        String NUM_CUENTA = null;
        if ((DropDownList_forma_pago.SelectedValue == "CONSIGNACIÓN BANCARIA") || (DropDownList_forma_pago.SelectedValue == "DISPERSION") || (DropDownList_forma_pago.SelectedValue == "ACH"))
        {
            ID_ENTIDAD = Convert.ToDecimal(DropDownList_entidad_bancaria.SelectedValue);
            TIPO_CUENTA = DropDownList_TIPO_CUENTAS.SelectedValue;

            if (CheckBox_TIENE_CUENTA.Checked == true)
            {
                NUM_CUENTA = TextBox_Numero_CuentaS.Text.Trim();
            }

            NUM_CUENTA = TextBox_Numero_CuentaS.Text;
        }

        ordenExamenes _ordenes = new ordenExamenes(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaOrdenes = _ordenes.ObtenerConRegOrdenExamenPorSolicitud(ID_REQUERIMIENTO, ID_SOLICITUD);
        examenesEmpleado _REGISTRO = new examenesEmpleado(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        List<examenesEmpleado> listaExamenesActualizar = new List<examenesEmpleado>();

        for (int i = 0; i < GridView_EXAMENES_REALIZADOS.Rows.Count; i++)
        {
            DataRow filaInfoOrdenExamen = tablaOrdenes.Rows[i];

            Int32 registro = Convert.ToInt32(GridView_EXAMENES_REALIZADOS.DataKeys[i].Values["REGISTRO"]);
            Int32 orden = Convert.ToInt32(GridView_EXAMENES_REALIZADOS.DataKeys[i].Values["ID_ORDEN"]);
            Int32 producto = Convert.ToInt32(GridView_EXAMENES_REALIZADOS.DataKeys[i].Values["ID_PRODUCTO"]);
            CheckBox validar = GridView_EXAMENES_REALIZADOS.Rows[i].FindControl("CheckBox_EXAMENES_ENTREGADOS") as CheckBox;

            Int32 proveedor;
            DataTable tabla = _REGISTRO.ObtenerConRegExamenesEmpleadoPorRegistro(registro);
            DataRow fila = tabla.Rows[0];
            proveedor = Convert.ToInt32(fila["REGISTRO_PRODUCTOS_PROVEEDOR"]);

            if (filaInfoOrdenExamen["VALIDADO"].ToString().Trim() == "N")
            {
                if (validar.Checked == true)
                {
                    DateTime fecha = System.DateTime.Today;

                    TextBox autos = GridView_EXAMENES_REALIZADOS.Rows[i].FindControl("TextBox_Autos_Recomendacion") as TextBox;

                    FileUpload archivoCargado = GridView_EXAMENES_REALIZADOS.Rows[i].FindControl("FileUpload_ARCHIVO") as FileUpload;

                    Byte[] ARCHIVO_EXAMEN = null;
                    Int32 ARCHIVO_TAMANO = 0;
                    String ARCHIVO_EXTENSION = null;
                    String ARCHIVO_TYPE = null;
                    if (archivoCargado.HasFile == true)
                    {
                        using (BinaryReader reader = new BinaryReader(archivoCargado.PostedFile.InputStream))
                        {
                            ARCHIVO_EXAMEN = reader.ReadBytes(archivoCargado.PostedFile.ContentLength);
                            ARCHIVO_TAMANO = archivoCargado.PostedFile.ContentLength;
                            ARCHIVO_TYPE = archivoCargado.PostedFile.ContentType;
                            ARCHIVO_EXTENSION = _tools.obtenerExtensionArchivo(archivoCargado.PostedFile.FileName);
                        }
                    }

                    examenesEmpleado _ex = new examenesEmpleado();

                    _ex.AutoRecomendacion = autos.Text.Trim();
                    _ex.registro = registro;
                    _ex.IdOrden = orden;
                    _ex.ARCHIVO_EXAMEN = ARCHIVO_EXAMEN;
                    _ex.ARCHIVO_EXTENSION = ARCHIVO_EXTENSION;
                    _ex.ARCHIVO_TAMANO = ARCHIVO_TAMANO;
                    _ex.ARCHIVO_TYPE = ARCHIVO_TYPE;
                    _ex.Fecha = fecha;
                    _ex.IdExamen = producto;
                    _ex.IdLab = proveedor;
                    _ex.IdRequerimientos = ID_REQUERIMIENTO;
                    _ex.IdSolIngreso = ID_SOLICITUD;
                    _ex.RegistroAlmacen = registro;
                    _ex.Valida = true;

                    listaExamenesActualizar.Add(_ex);
                }
            }
        }

        examenesEmpleado _examenes = new examenesEmpleado(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Boolean resultado = _examenes.actualizarExamenesYFormaPago(listaExamenesActualizar, ID_SOLICITUD, ID_ENTIDAD, NUM_CUENTA, FORMA_PAGO, TIPO_CUENTA);

        if (resultado == false)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _examenes.MensajeError, Proceso.Error);
        }
        else
        {
            Cargar(ID_REQUERIMIENTO, ID_SOLICITUD, ID_EMPRESA, ID_OCUPACION);

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Los Resultados de los examenes y la configuración de forma de pago fue realizada correctamente.", Proceso.Correcto);
        }
    }
    protected void Button_GUARDAR_PRUEBA_Click(object sender, EventArgs e)
    {
        tools _tools = new tools();
        SecureQueryString QueryStringSeguro;
        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro(), Request["data"]);

        Decimal ID_CATEGORIA = Convert.ToDecimal(QueryStringSeguro["categoria"]);

        String NOM_PRUEBA = TextBox_NOM_PRUEBA.Text.Trim();
        String OBS_PRUEBA = TextBox_Comentarios.Text.Trim();

        Byte[] ARCHIVO = null;
        Int32 ARCHIVO_TAMANO = 0;
        String ARCHIVO_EXTENSION = null;
        String ARCHIVO_TYPE = null;
        if (FileUpload_ARCHIVO.HasFile == true)
        {
            using (BinaryReader reader = new BinaryReader(FileUpload_ARCHIVO.PostedFile.InputStream))
            {
                ARCHIVO = reader.ReadBytes(FileUpload_ARCHIVO.PostedFile.ContentLength);
                ARCHIVO_TAMANO = FileUpload_ARCHIVO.PostedFile.ContentLength;
                ARCHIVO_TYPE = FileUpload_ARCHIVO.PostedFile.ContentType;
                ARCHIVO_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_ARCHIVO.PostedFile.FileName);
            }
        }

        categoriaPruebas _pruebas = new categoriaPruebas(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Decimal ID_PRUEBA = 0;

        if (String.IsNullOrEmpty(TextBox_ID_PRUEBA.Text) == true)
        {
            ID_PRUEBA = _pruebas.AdicionarSelPruebas(NOM_PRUEBA, ID_CATEGORIA, OBS_PRUEBA, ARCHIVO, ARCHIVO_EXTENSION, ARCHIVO_TAMANO, ARCHIVO_TYPE);

            if (_pruebas.MensajeError != null)
            {
                configurarInfoAdicionalModulo(false, "");

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _pruebas.MensajeError;
            }
            else
            {
                QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                QueryStringSeguro["img_area"] = "seleccion";
                QueryStringSeguro["nombre_area"] = "SELECCIÓN Y REQUISICIONES";
                QueryStringSeguro["nombre_modulo"] = "CATEGORÍA DE PRUEBAS Y PRUEBAS";
                QueryStringSeguro["accion"] = "cargarNuevaPrueba";
                QueryStringSeguro["categoria"] = ID_CATEGORIA.ToString();
                QueryStringSeguro["prueba"] = ID_PRUEBA.ToString();

                Response.Redirect("~/seleccion/categoriasyPruebas.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
            }
        }
        else
        {
            Boolean verificador = true;

            ID_PRUEBA = Convert.ToDecimal(TextBox_ID_PRUEBA.Text);

            verificador = _pruebas.ActualizarSelPrueba(ID_PRUEBA, NOM_PRUEBA, OBS_PRUEBA, ARCHIVO, ARCHIVO_EXTENSION, ARCHIVO_TAMANO, ARCHIVO_TYPE);

            if (verificador == false)
            {
                configurarInfoAdicionalModulo(false, "");

                configurarMensajes(true, System.Drawing.Color.Red);
                Label_MENSAJE.Text = _pruebas.MensajeError;
            }
            else
            {
                QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                QueryStringSeguro["img_area"] = "seleccion";
                QueryStringSeguro["nombre_area"] = "SELECCIÓN Y REQUISICIONES";
                QueryStringSeguro["nombre_modulo"] = "CATEGORÍA DE PRUEBAS Y PRUEBAS";
                QueryStringSeguro["accion"] = "cargarModificadaPrueba";
                QueryStringSeguro["categoria"] = ID_CATEGORIA.ToString();
                QueryStringSeguro["prueba"] = ID_PRUEBA.ToString();

                Response.Redirect("~/seleccion/categoriasyPruebas.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
            }
        }
    }
    private void ResultadosActividad()
    {
        Programa.Areas AREA = (Programa.Areas)Enum.Parse(typeof(Programa.Areas), HiddenField_ID_AREA.Value);

        tools _tools = new tools();

        Decimal ID_ACTIVIDAD = Convert.ToDecimal(HiddenField_ID_ACTIVIDAD.Value);
        Decimal ID_DETALLE = Convert.ToDecimal(HiddenField_ID_DETALLE.Value);

        Decimal PRESUPUESTO_FINAL = Convert.ToDecimal(TextBox_PresupuestoFinal.Text);
        Int32 PERSONAL_FINAL = Convert.ToInt32(TextBox_PersonalFinal.Text);

        Int32 PUNTUACION_LOG_BUENA = 0;
        Int32 PUNTUACION_LOG_REGULAR = 0;
        Int32 PUNTUACION_LOG_MALA = 0;

        Int32 PUNTUACION_INSTRUCTOR_BUENA = 0;
        Int32 PUNTUACION_INSTRUCTOR_REGULAR = 0;
        Int32 PUNTUACION_INSTRUCTOR_MALA = 0;

        Int32 PUNTUACION_INSTALACIONES_BUENA = 0;
        Int32 PUNTUACION_INSTALACIONES_REGULAR = 0;
        Int32 PUNTUACION_INSTALACIONES_MALA = 0;

        try { PUNTUACION_LOG_BUENA = Convert.ToInt32(TextBox_LogisticaBuena.Text); }
        catch { PUNTUACION_LOG_BUENA = 0; }

        try { PUNTUACION_LOG_REGULAR = Convert.ToInt32(TextBox_LogisticaRegular.Text); }
        catch { PUNTUACION_LOG_REGULAR = 0; }

        try { PUNTUACION_LOG_MALA = Convert.ToInt32(TextBox_LogisticaMala.Text); }
        catch { PUNTUACION_LOG_MALA = 0; }

        try { PUNTUACION_INSTRUCTOR_BUENA = Convert.ToInt32(TextBox_InstructorBuena.Text); }
        catch { PUNTUACION_INSTRUCTOR_BUENA = 0; }

        try { PUNTUACION_INSTRUCTOR_REGULAR = Convert.ToInt32(TextBox_InstructorRegular.Text); }
        catch { PUNTUACION_INSTRUCTOR_REGULAR = 0; }

        try { PUNTUACION_INSTRUCTOR_MALA = Convert.ToInt32(TextBox_InstructorMala.Text); }
        catch { PUNTUACION_INSTRUCTOR_MALA = 0; }

        try { PUNTUACION_INSTALACIONES_BUENA = Convert.ToInt32(TextBox_InstalacionesBuena.Text); }
        catch { PUNTUACION_INSTALACIONES_BUENA = 0; }

        try { PUNTUACION_INSTALACIONES_REGULAR = Convert.ToInt32(TextBox_InstalacionesRegular.Text); }
        catch { PUNTUACION_INSTALACIONES_REGULAR = 0; }

        try { PUNTUACION_INSTALACIONES_MALA = Convert.ToInt32(TextBox_InstalacionesMala.Text); }
        catch { PUNTUACION_INSTALACIONES_MALA = 0; }

        Int32 TotalLogistica = PUNTUACION_LOG_BUENA + PUNTUACION_LOG_MALA + PUNTUACION_LOG_REGULAR;
        Int32 TotalInstructor = PUNTUACION_INSTRUCTOR_BUENA + PUNTUACION_INSTRUCTOR_MALA + PUNTUACION_INSTRUCTOR_REGULAR;
        Int32 TotalInstalaciones = PUNTUACION_INSTALACIONES_BUENA + PUNTUACION_INSTALACIONES_MALA + PUNTUACION_INSTALACIONES_REGULAR;

        if (TotalLogistica > PERSONAL_FINAL)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El número de encuestas totales de LOGISTICA (" + TotalLogistica.ToString() + ") no puede superar el número de participantes (" + PERSONAL_FINAL.ToString() + ") de la encuesta", Proceso.Advertencia);
        }
        else
        {
            if (TotalInstructor > PERSONAL_FINAL)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El número de encuestas totales de INSTRUCTOR (" + TotalInstructor.ToString() + ") no puede superar el número de participantes (" + PERSONAL_FINAL.ToString() + ") de la encuesta", Proceso.Advertencia);
            }
            else
            {
                if (TotalInstalaciones > PERSONAL_FINAL)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El número de encuestas totales de INSTALACIONES (" + TotalInstalaciones.ToString() + ") no puede superar el número de participantes (" + PERSONAL_FINAL.ToString() + ") de la encuesta", Proceso.Advertencia);
                }
                else
                {
                    Byte[] ARCHIVO_ENCUESTA = null;
                    Int32 ARCHIVO_ENCUESTA_TAMANO = 0;
                    String ARCHIVO_ENCUESTA_EXTENSION = null;
                    String ARCHIVO_ENCUESTA_TYPE = null;
                    if (FileUpload_ArchivoEncuesta.HasFile == true)
                    {
                        using (BinaryReader reader = new BinaryReader(FileUpload_ArchivoEncuesta.PostedFile.InputStream))
                        {
                            ARCHIVO_ENCUESTA = reader.ReadBytes(FileUpload_ArchivoEncuesta.PostedFile.ContentLength);
                            ARCHIVO_ENCUESTA_TAMANO = FileUpload_ArchivoEncuesta.PostedFile.ContentLength;
                            ARCHIVO_ENCUESTA_TYPE = FileUpload_ArchivoEncuesta.PostedFile.ContentType;
                            ARCHIVO_ENCUESTA_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_ArchivoEncuesta.PostedFile.FileName);
                        }
                    }

                    List<Asistencia> listaAsistencia = new List<Asistencia>();

                    for (int i = 0; i < GridView_ControlAsistencia.Rows.Count; i++)
                    {
                        CheckBox check = GridView_ControlAsistencia.Rows[i].FindControl("CheckBox_Asistencia") as CheckBox;

                        if (check.Checked == true)
                        {
                            Decimal ID_EMPLEADO = Convert.ToDecimal(GridView_ControlAsistencia.DataKeys[i].Values["ID_EMPLEADO"]);
                            Decimal ID_SOLICITUD = Convert.ToDecimal(GridView_ControlAsistencia.DataKeys[i].Values["ID_SOLICITUD"]);

                            Asistencia _asistenciaParaLista = new Asistencia();

                            _asistenciaParaLista.ID_EMPLEADO = ID_EMPLEADO;
                            _asistenciaParaLista.ID_SOLICITUD = ID_SOLICITUD;
                            _asistenciaParaLista.ID_DETALLE = ID_DETALLE;

                            listaAsistencia.Add(_asistenciaParaLista);
                        }
                    }

                    if ((listaAsistencia.Count <= 0) && (HiddenField_SECCIONES_HABILITADAS.Value.Contains("Control Asistencia") == true))
                    {
                        Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Para porder continuar debe diligenciar la asistencia de los colaboradores.", Proceso.Advertencia);
                    }
                    else
                    {
                        Byte[] ARCHIVO_ASISTENCIA = null;
                        Int32 ARCHIVO_ASISTENCIA_TAMANO = 0;
                        String ARCHIVO_ASISTENCIA_EXTENSION = null;
                        String ARCHIVO_ASISTENCIA_TYPE = null;
                        if (FileUpload_ArchivoAsistencia.HasFile == true)
                        {
                            using (BinaryReader reader = new BinaryReader(FileUpload_ArchivoAsistencia.PostedFile.InputStream))
                            {
                                ARCHIVO_ASISTENCIA = reader.ReadBytes(FileUpload_ArchivoAsistencia.PostedFile.ContentLength);
                                ARCHIVO_ASISTENCIA_TAMANO = FileUpload_ArchivoAsistencia.PostedFile.ContentLength;
                                ARCHIVO_ASISTENCIA_TYPE = FileUpload_ArchivoAsistencia.PostedFile.ContentType;
                                ARCHIVO_ASISTENCIA_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_ArchivoAsistencia.PostedFile.FileName);
                            }
                        }

                        String RESULTADOS_ENCUESTA = "";

                        RESULTADOS_ENCUESTA = Programa.TemasEncuesta.LOGISTICA.ToString() + ":" + Programa.CalificacionesTemasEncuesta.BUENA.ToString() + "=" + PUNTUACION_LOG_BUENA.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.LOGISTICA.ToString() + ":" + Programa.CalificacionesTemasEncuesta.REGULAR.ToString() + "=" + PUNTUACION_LOG_REGULAR.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.LOGISTICA.ToString() + ":" + Programa.CalificacionesTemasEncuesta.MALA.ToString() + "=" + PUNTUACION_LOG_MALA.ToString();

                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTRUCTOR.ToString() + ":" + Programa.CalificacionesTemasEncuesta.BUENA.ToString() + "=" + PUNTUACION_INSTRUCTOR_BUENA.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTRUCTOR.ToString() + ":" + Programa.CalificacionesTemasEncuesta.REGULAR.ToString() + "=" + PUNTUACION_INSTRUCTOR_REGULAR.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTRUCTOR.ToString() + ":" + Programa.CalificacionesTemasEncuesta.MALA.ToString() + "=" + PUNTUACION_INSTRUCTOR_MALA.ToString();

                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTALACIONES.ToString() + ":" + Programa.CalificacionesTemasEncuesta.BUENA.ToString() + "=" + PUNTUACION_INSTALACIONES_BUENA.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTALACIONES.ToString() + ":" + Programa.CalificacionesTemasEncuesta.REGULAR.ToString() + "=" + PUNTUACION_INSTALACIONES_REGULAR.ToString();
                        RESULTADOS_ENCUESTA += "*" + Programa.TemasEncuesta.INSTALACIONES.ToString() + ":" + Programa.CalificacionesTemasEncuesta.MALA.ToString() + "=" + PUNTUACION_INSTALACIONES_MALA.ToString();

                        Boolean correcto = true;

                        if (HiddenField_SECCIONES_HABILITADAS.Value.Contains("Resultados Encuesta") == true)
                        {
                            correcto = VerificarEstandarEncuesta(PUNTUACION_LOG_BUENA, PUNTUACION_LOG_REGULAR, PUNTUACION_LOG_MALA, PUNTUACION_INSTRUCTOR_BUENA, PUNTUACION_INSTRUCTOR_REGULAR, PUNTUACION_INSTRUCTOR_MALA, PUNTUACION_INSTALACIONES_BUENA, PUNTUACION_INSTALACIONES_REGULAR, PUNTUACION_INSTALACIONES_MALA);
                        }

                        if (correcto == true)
                        {
                            List<EntidadColaboradora> listaEntidadesColaboradoras = new List<EntidadColaboradora>();
                            for (int i = 0; i < GridView_EntidadesColaboradoras.Rows.Count; i++)
                            {
                                EntidadColaboradora entidadParaLista = new EntidadColaboradora();

                                DropDownList dropGrilla = GridView_EntidadesColaboradoras.Rows[i].FindControl("DropDownList_EntidadesColoboradoras") as DropDownList;

                                TextBox texto = GridView_EntidadesColaboradoras.Rows[i].FindControl("TextBox_DescripcionEntidad") as TextBox;

                                entidadParaLista.DESCRIPCION = texto.Text.Trim();
                                entidadParaLista.ID_ENTIDAD = Convert.ToDecimal(dropGrilla.SelectedValue);
                                entidadParaLista.ID_ENTIDAD_COLABORA = Convert.ToDecimal(GridView_EntidadesColaboradoras.DataKeys[i].Values["ID_ENTIDAD_COLABORA"]);

                                listaEntidadesColaboradoras.Add(entidadParaLista);
                            }

                            List<MaestraCompromiso> listaCompromisos = new List<MaestraCompromiso>();
                            for (int i = 0; i < GridView_Compromisos.Rows.Count; i++)
                            {
                                GridViewRow filaGrilla = GridView_Compromisos.Rows[i];

                                MaestraCompromiso compromisoParaLista = new MaestraCompromiso();

                                Decimal ID_MAESTRA_COMPROMISO = Convert.ToDecimal(GridView_Compromisos.DataKeys[i].Values["ID_MAESTRA_COMPROMISO"]);

                                Decimal ID_ACTIVIDAD_GENERA = Convert.ToDecimal(HiddenField_ID_DETALLE.Value);

                                String NOMBRE_ACTIVIDAD_GENERA = DropDownList_IdActividad.SelectedItem.Text;

                                String TIPO_GENERA = Programa.TiposGeneraCompromiso.ACTIVIDAD.ToString();

                                TextBox textoCompromiso = filaGrilla.FindControl("TextBox_Compromiso") as TextBox;
                                String COMPROMISO = textoCompromiso.Text.Trim();

                                DropDownList dropGrilla = filaGrilla.FindControl("DropDownList_ResponsableCompromiso") as DropDownList;
                                String USU_LOG_RESPONSABLE = dropGrilla.SelectedValue;

                                TextBox textoFechaP = filaGrilla.FindControl("TextBox_FechaCompromiso") as TextBox;
                                DateTime FECHA_P = new DateTime();
                                try
                                {
                                    FECHA_P = Convert.ToDateTime(textoFechaP.Text);
                                }
                                catch
                                {
                                    FECHA_P = new DateTime();
                                }

                                DateTime FECHA_EJECUCION = new DateTime();

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

                                Label textoEstado = filaGrilla.FindControl("Label_EstadoCompromiso") as Label;
                                String ESTADO = "CERRADO";
                                if (USU_LOG_RESPONSABLE.ToUpper() != "CLIENTE")
                                {
                                    ESTADO = textoEstado.Text;
                                }

                                compromisoParaLista.COMPROMISO = COMPROMISO;
                                compromisoParaLista.ESTADO = ESTADO;
                                compromisoParaLista.FECHA_EJECUCION = FECHA_EJECUCION;
                                compromisoParaLista.FECHA_P = FECHA_P;
                                compromisoParaLista.ID_ACTIVIDAD_GENERA = ID_ACTIVIDAD_GENERA;
                                compromisoParaLista.ID_MAESTRA_COMPROMISO = ID_MAESTRA_COMPROMISO;
                                compromisoParaLista.NOMBRE_ACTIVIDAD_GENERA = NOMBRE_ACTIVIDAD_GENERA;
                                compromisoParaLista.OBSERVACIONES = OBSERVACIONES;
                                compromisoParaLista.USU_LOG_RESPONSABLE = USU_LOG_RESPONSABLE;
                                compromisoParaLista.TIPO_GENERA = TIPO_GENERA;

                                listaCompromisos.Add(compromisoParaLista);
                            }

                            String CONCLUSION_ACTIVIDAD = TextBox_ConclusionesActividad.Text.Trim();
                            String DIRECCION_IMAGEN_REPRESENTATIVA = null;
                            if (FileUpload_ImagenRepresentativa.HasFile == false)
                            {
                                DIRECCION_IMAGEN_REPRESENTATIVA = null;
                            }
                            else
                            {
                                String[] extensionesImagenPermitidas = ConfigurationManager.AppSettings["extensionesImagenesPermitidas"].ToLower().Split(',');
                                String ext = System.IO.Path.GetExtension(FileUpload_ImagenRepresentativa.PostedFile.FileName).ToLower();
                                Boolean isValidFile = false;
                                for (int i = 0; i < extensionesImagenPermitidas.Length; i++)
                                {
                                    if (ext == "." + extensionesImagenPermitidas[i])
                                    {
                                        isValidFile = true;
                                        break;
                                    }
                                }

                                if (isValidFile == true)
                                {
                                    Guid id = Guid.NewGuid();

                                    String nombreUnicoParaImagen = id.ToString();

                                    String filePath = "~/imagenes/imgRepresentativasActividad/" + nombreUnicoParaImagen + ext;

                                    FileUpload_ImagenRepresentativa.SaveAs(MapPath(filePath));

                                    DIRECCION_IMAGEN_REPRESENTATIVA = filePath;

                                    FileUpload_ImagenRepresentativa.Dispose();
                                }
                            }

                            Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

                            Boolean verificado = _programa.TerminarProgDetallesActividad(ID_DETALLE, PRESUPUESTO_FINAL, PERSONAL_FINAL, Programa.EstadosDetalleActividad.TERMINADA, RESULTADOS_ENCUESTA, listaAsistencia, ARCHIVO_ENCUESTA, ARCHIVO_ENCUESTA_TAMANO, ARCHIVO_ENCUESTA_EXTENSION, ARCHIVO_ENCUESTA_TYPE, ARCHIVO_ASISTENCIA, ARCHIVO_ASISTENCIA_TAMANO, ARCHIVO_ASISTENCIA_EXTENSION, ARCHIVO_ASISTENCIA_TYPE, listaEntidadesColaboradoras, CONCLUSION_ACTIVIDAD, DIRECCION_IMAGEN_REPRESENTATIVA, listaCompromisos, AREA);

                            if (verificado == false)
                            {
                                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _programa.MensajeError, Proceso.Advertencia);
                            }
                            else
                            {
                                Ocultar(Acciones.Inicio);
                                Desactivar(Acciones.Inicio);
                                Mostrar(Acciones.Inicio);
                                Cargar(Acciones.Inicio);

                                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Los Resultados de la Actividad fueron registrados correctamente.", Proceso.Correcto);
                            }
                        }
                    }
                }
            }
        }
    }
    private void AjustarPresupuesto()
    {
        Decimal ID_ACTIVIDAD = Convert.ToDecimal(HiddenField_ID_ACTIVIDAD.Value);
        Decimal ID_DETALLE = Convert.ToDecimal(HiddenField_ID_DETALLE.Value);

        Decimal presupuesto = Convert.ToDecimal(HiddenField_PRESUPUESTO.Value);
        Decimal asignado = Convert.ToDecimal(HiddenField_PRESUPUESTO_ASIGNADO_EMPRESA.Value);
        Decimal ejecutado = Convert.ToDecimal(HiddenField_PRESUPUESTO_EJECUTADO_EMPRESA.Value);

        Decimal presupuestoInicialActividad = Convert.ToDecimal(TextBox_PresupuestoAsignado.Text);
        Decimal presupuestoAjustadoActividad = 0;

        Boolean correcto = true;

        try
        {
            presupuestoAjustadoActividad = Convert.ToDecimal(TextBox_PresupuestoAjustado.Text);
        }
        catch
        {
            presupuestoAjustadoActividad = 0;
            correcto = false;
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Debe Digitar un valor correcto para el nuevo presupuesto para la actividad.", Proceso.Advertencia);
        }

        if (correcto == true)
        {
            asignado = asignado - presupuestoInicialActividad;
            if ((asignado + presupuestoAjustadoActividad + ejecutado) > presupuesto)
            {
                correcto = false;
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El valor del presupeusto que desea ajustar sobrepasa el valor máximo que puede ser asigando.", Proceso.Advertencia);
            }
        }

        if (correcto == true)
        {

            tools _tools = new tools();

            Byte[] ARCHIVO = null;
            Int32 ARCHIVO_TAMANO = 0;
            String ARCHIVO_EXTENSION = null;
            String ARCHIVO_TYPE = null;
            if (FileUpload_CertificacionAjuste.HasFile == true)
            {
                using (BinaryReader reader = new BinaryReader(FileUpload_CertificacionAjuste.PostedFile.InputStream))
                {
                    ARCHIVO = reader.ReadBytes(FileUpload_CertificacionAjuste.PostedFile.ContentLength);
                    ARCHIVO_TAMANO = FileUpload_CertificacionAjuste.PostedFile.ContentLength;
                    ARCHIVO_TYPE = FileUpload_CertificacionAjuste.PostedFile.ContentType;
                    ARCHIVO_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_CertificacionAjuste.PostedFile.FileName);
                }
            }

            Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            Boolean verificado = _programa.AjustarPresupuestoDetalleActividad(ID_DETALLE, presupuestoAjustadoActividad,  Programa.EstadosDetalleActividad.APROBADA, ARCHIVO, ARCHIVO_TAMANO, ARCHIVO_EXTENSION, ARCHIVO_TYPE);

            if (verificado == true)
            {
                Ocultar(Acciones.Inicio);
                Desactivar(Acciones.Inicio);
                Mostrar(Acciones.Inicio);
                Cargar(Acciones.Inicio);

                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El prsupuesto de la actividad fue ajustado Correctamente.", Proceso.Correcto);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _programa.MensajeError, Proceso.Error);
            }
        }
    }
    private void Reprogramar()
    {
        tools _tools = new tools();
        Boolean correcto = true;

        Decimal ID_ACTIVIDAD = Convert.ToDecimal(HiddenField_ID_ACTIVIDAD.Value);
        Decimal ID_DETALLE = Convert.ToDecimal(HiddenField_ID_DETALLE.Value);

        DateTime FECHA_ACTIVIDAD = Convert.ToDateTime(TextBox_FechaActividad.Text);

        String HORA_INICIO = TimePicker_HoraInicioActividad.SelectedTime.ToShortTimeString();
        String HORA_FIN = TimePicker_HoraFinActividad.SelectedTime.ToShortTimeString();

        String TIPO_REPROGRAMACION = DropDownList_TipoReprogramacion.SelectedValue;
        String MOTIVO_REPROGRAMACION = TextBox_MotivoReprogramacion.Text.Trim();

        Byte[] ARCHIVO = null;
        Int32 ARCHIVO_TAMANO = 0;
        String ARCHIVO_EXTENSION = null;
        String ARCHIVO_TYPE = null;
        if (FileUpload_ArchivoReprogramacion.HasFile == true)
        {
            using (BinaryReader reader = new BinaryReader(FileUpload_ArchivoReprogramacion.PostedFile.InputStream))
            {
                ARCHIVO = reader.ReadBytes(FileUpload_ArchivoReprogramacion.PostedFile.ContentLength);
                ARCHIVO_TAMANO = FileUpload_ArchivoReprogramacion.PostedFile.ContentLength;
                ARCHIVO_TYPE = FileUpload_ArchivoReprogramacion.PostedFile.ContentType;
                ARCHIVO_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_ArchivoReprogramacion.PostedFile.FileName);
            }
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Es necesario adjuntar una archivo que soporte la reprogramación.", Proceso.Advertencia);
            correcto = false;
        }

        if (correcto == true)
        {
            Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            Boolean verificado = _programa.ReprogramarDetalleActividad(ID_DETALLE, FECHA_ACTIVIDAD, HORA_INICIO, HORA_FIN, MOTIVO_REPROGRAMACION, TIPO_REPROGRAMACION, ARCHIVO, ARCHIVO_EXTENSION, ARCHIVO_TAMANO, ARCHIVO_TYPE);

            if (verificado == true)
            {
                Ocultar(Acciones.Inicio);
                Desactivar(Acciones.Inicio);
                Mostrar(Acciones.Inicio);
                Cargar(Acciones.Inicio);

                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La Actividad fue Reprogramada Correctamente.", Proceso.Correcto);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _programa.MensajeError, Proceso.Error);
            }
        }
    }
    protected void Button_GuardarAdjunto_Click(object sender, EventArgs e)
    {
        tools _tools = new tools();

        Decimal ID_DETALLE = Convert.ToDecimal(HiddenField_ID_DETALLE.Value);

        Byte[] ARCHIVO = null;
        Int32 ARCHIVO_TAMANO = 0;
        String ARCHIVO_EXTENSION = null;
        String ARCHIVO_TYPE = null;
        if (FileUpload_AdjuntosInforme.HasFile == true)
        {
            using (BinaryReader reader = new BinaryReader(FileUpload_AdjuntosInforme.PostedFile.InputStream))
            {
                ARCHIVO = reader.ReadBytes(FileUpload_AdjuntosInforme.PostedFile.ContentLength);
                ARCHIVO_TAMANO = FileUpload_AdjuntosInforme.PostedFile.ContentLength;
                ARCHIVO_TYPE = FileUpload_AdjuntosInforme.PostedFile.ContentType;
                ARCHIVO_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_AdjuntosInforme.PostedFile.FileName);
            }
        }

        String TITULO_ADJUNTO = TextBox_TituloAdjunto.Text.Trim();
        String DESCRIPCION_ADJUNTO = TextBox_DescripcionAdjunto.Text.Trim();

        Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Decimal ID_ADJUNTO = _programa.AdicionarAdjuntoResultadoActividad(ID_DETALLE, TITULO_ADJUNTO, DESCRIPCION_ADJUNTO, ARCHIVO, ARCHIVO_TAMANO, ARCHIVO_EXTENSION, ARCHIVO_TYPE);

        CargarAdjuntos();

        Panel_NuevoAdjunto.Visible = false;
        Button_NuevoAdjunto.Visible = true;
        Button_GuardarAdjunto.Visible = false;
        Button_CancelarAdjunto.Visible = false;
    }
    private void Actualizar()
    {
        tools _tools = new tools();

        Decimal ID_ASSESMENT_CENTER = 0;
        if(String.IsNullOrEmpty(HiddenField_ID_ASSESMENT_CENTER.Value) == false)
        {
            ID_ASSESMENT_CENTER = Convert.ToDecimal(HiddenField_ID_ASSESMENT_CENTER.Value);
        }

        String NOMBRE_ASSESMENT = TextBox_NombreAssesment.Text.Trim();
        String DESCRIPCION_ASSESMENT = TextBox_DescripcionAssesment.Text.Trim();

        Boolean ACTIVO = true;
        if (ID_ASSESMENT_CENTER != 0)
        {
            if (DropDownList_EstadoAssesment.SelectedValue == "True")
            {
                ACTIVO = true;
            }
            else
            {
                ACTIVO = false;
            }
        }

        List<CompetenciaAssesment> listaCompetencias = new List<CompetenciaAssesment>();

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

            Decimal ID_COMPETENCIA_ASSESMENT = Convert.ToDecimal(GridView_CompetenciasAssesment.DataKeys[i].Values["ID_COMPETENCIA_ASSESMENT"]);
            Decimal ID_ASSESMENT = Convert.ToDecimal(GridView_CompetenciasAssesment.DataKeys[i].Values["ID_ASSESMENT"]);

            DropDownList dropCompetencia = filaGrilla.FindControl("DropDownList_CompetenciaAssesment") as DropDownList;
            Decimal ID_COMPETENCIA = Convert.ToDecimal(dropCompetencia.SelectedValue);

            CompetenciaAssesment competenciaParaLista = new CompetenciaAssesment();

            competenciaParaLista.ACTIVO = ACTIVO;
            competenciaParaLista.ID_ASSESMENT = ID_ASSESMENT;
            competenciaParaLista.ID_COMPETENCIA = ID_COMPETENCIA;
            competenciaParaLista.ID_COMPETENCIA_ASSESMENT = ID_COMPETENCIA_ASSESMENT;

            listaCompetencias.Add(competenciaParaLista);
        }

        Byte[] ARCHIVO_DOCUMENTO = null;
        Int32 ARCHIVO_TAMANO = 0;
        String ARCHIVO_EXTENSION = null;
        String ARCHIVO_TYPE = null;
        if (FileUpload_Archivo.HasFile == true)
        {
            using (BinaryReader reader = new BinaryReader(FileUpload_Archivo.PostedFile.InputStream))
            {
                ARCHIVO_DOCUMENTO = reader.ReadBytes(FileUpload_Archivo.PostedFile.ContentLength);
                ARCHIVO_TAMANO = FileUpload_Archivo.PostedFile.ContentLength;
                ARCHIVO_TYPE = FileUpload_Archivo.PostedFile.ContentType;
                ARCHIVO_EXTENSION = _tools.obtenerExtensionArchivo(FileUpload_Archivo.PostedFile.FileName);
            }
        }

        hojasVida _hojas = new hojasVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        ID_ASSESMENT_CENTER = _hojas.ActualizarAssesmentCenter(ID_ASSESMENT_CENTER, NOMBRE_ASSESMENT, DESCRIPCION_ASSESMENT, ACTIVO, listaCompetencias, ARCHIVO_DOCUMENTO, ARCHIVO_TAMANO, ARCHIVO_EXTENSION, ARCHIVO_TYPE);

        if (ID_ASSESMENT_CENTER > 0)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El Assesment Center " + NOMBRE_ASSESMENT + " fue procesado correctamente.", Proceso.Correcto);

            Ocultar(Acciones.Inicio);
            Desactivar(Acciones.Inicio);
            Mostrar(Acciones.Cargar);

            Cargar(ID_ASSESMENT_CENTER);
        }
        else
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _hojas.MensajeError, Proceso.Error);
        }
    }
    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 void GuardarNuevaClausula()
    {
        tools _tools = new tools();
        Byte[] archivo = null;
        Int32 archivo_tamaño = 0;
        decimal id_empleado_clausula = 0;
        String archivo_extension = null;
        String archivo_tipo = null;
        decimal id_ocupacion = -1;

        Decimal ID_CONTRATO = Convert.ToDecimal(HiddenField_ID_CONTRATO.Value);

        try
        {
            if (FileUpload_ArchivoClausula.HasFile == true)
            {
                using (BinaryReader reader = new BinaryReader(FileUpload_ArchivoClausula.PostedFile.InputStream))
                {
                    archivo = reader.ReadBytes(FileUpload_ArchivoClausula.PostedFile.ContentLength);
                    archivo_tamaño = FileUpload_ArchivoClausula.PostedFile.ContentLength;
                    archivo_tipo = FileUpload_ArchivoClausula.PostedFile.ContentType;
                    archivo_extension = _tools.obtenerExtensionArchivo(FileUpload_ArchivoClausula.PostedFile.FileName);
                }

                id_ocupacion = -1;

                Clausula clausula = new Clausula(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                id_empleado_clausula = clausula.AdicionarClausulaYClausulaEmpleado(DropDownList_ID_TIPO_CLAUSULA.SelectedValue, "1", TextBox_DESCRIPCION.Text, -1, id_ocupacion, archivo, archivo_tamaño, archivo_extension, archivo_tipo, ID_CONTRATO);

                if (id_empleado_clausula > 0)
                {

                    Decimal ID_PERFIL = Convert.ToDecimal(HiddenField_ID_PERFIL.Value);
                    Decimal ID_EMPLEADO = Convert.ToDecimal(Label_ID_EMPLEADO.Text);

                    cargar_seccion_conceptos_fijos(ID_PERFIL, ID_EMPLEADO);

                    Panel_DatosNuevaClausula.Visible = false;
                    DropDownList_ID_TIPO_CLAUSULA.ClearSelection();
                    TextBox_DESCRIPCION.Text = "";

                    PanelAdicionarClausula.Visible = true;
                    Button_AdicionarClausula.Visible = true;

                    Button_AdicionarClausula.Focus();
                }
                else
                {
                    Informar(Panel_MENSAJES_CONCEPTOS_FIJOS, Label_MENSAJES_CONCEPTOS_FIJOS, "No se pudo crear la clausula especificada.", Proceso.Error);
                    Button_ProcesarNuevaClausula.Focus();
                }
            }
        }
        catch (Exception e)
        {
            Informar(Panel_MENSAJES_CONCEPTOS_FIJOS, Label_MENSAJES_CONCEPTOS_FIJOS, e.Message, Proceso.Error);
        }
    }