/// <summary>
    /// hecho por cesar pulido
    /// el dia 17 de enero de enero de 2013
    /// para cargar en el pdf la seccion de unidad de negocio
    /// </summary>
    /// <param name="ID_EMPRESA"></param>
    /// <param name="_datos"></param>
    /// <returns></returns>
    public String CargarUnidadDeNegocio(Decimal ID_EMPRESA, Conexion _datos)
    {
        //verificado por _datos

        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        //ok -----------------
        DataTable tablaContratosOriginal = _seguridad.ObtenerUsuariosPorEmpresa(ID_EMPRESA, _datos);

        String htmlSeccion = String.Empty;

        foreach (DataRow fila in tablaContratosOriginal.Rows)
        {
            htmlSeccion += "<tr>";
            htmlSeccion += "  <td width=\"20%\" style=\"text-align:center;\">";
            htmlSeccion += fila["USU_LOG"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"30%\" style=\"text-align:justify;\">";
            htmlSeccion += fila["NOMBRES_EMPLEADO"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"50%\" style=\"text-align:justify;\">";
            htmlSeccion += fila["UNIDAD_NEGOCIO"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "</tr>";
        }

        return htmlSeccion;
    }
    private void RolPermisos()
    {
        #region variables
        int contadorPermisos = 0;
        #endregion variables

        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        tools _tools = new tools();

        String rutaScript = _tools.obtenerRutaVerdaderaScript(Request.ServerVariables["SCRIPT_NAME"]);

        DataTable tablaInformacionPermisos = _seguridad.ObtenerPermisosBotones(NOMBRE_AREA, rutaScript);

        maestrasInterfaz _maestrasInterfaz = new maestrasInterfaz();

        contadorPermisos = _maestrasInterfaz.RolPermisos(this, tablaInformacionPermisos);

        if (contadorPermisos <= 0)
        {
            SecureQueryString QueryStringSeguro;
            QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

            QueryStringSeguro["img_area"] = "restringido";
            QueryStringSeguro["nombre_area"] = "ACCESO RESTRINGIDO";
            QueryStringSeguro["nombre_modulo"] = "ACCESO RESTRINGIDO";
            QueryStringSeguro["accion"] = "inicial";

            Response.Redirect("~/sinPermisos/sinPermisos.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
        }
        else
        {
            Session["URL_ANTERIOR"] = HttpContext.Current.Request.RawUrl;
        }
    }
    private void Cargar(GridView gridView)
    {
        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable dataTable = _seguridad.ObtenerUsuariosPorEmpresa(Convert.ToDecimal(HiddenField_ID_EMPRESA.Value));

        if (dataTable.Rows.Count <= 0)
        {
            if (_seguridad.MensajeError == null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron registros de usuarios asociados a unidad de negocio para esta empresa.", Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _seguridad.MensajeError, Proceso.Error);
            }

            Panel_empresas_unidad_negocio.Visible = false;
        }
        else
        {
            gridView.DataSource = dataTable;
            gridView.DataBind();
            Panel_empresas_unidad_negocio.Visible = true;
        }
    }
 private void Guardar()
 {
     seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
     try
     {
         _seguridad.Adicionar(DropDownList_usuario.SelectedValue, DropDownList_empresas.SelectedValue, DropDownList_unidad_negocio.Text);
         Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La unidad de negocio fue adicionada correctamente." , Proceso.Correcto);
         Ocultar();
         Mostrar(Acciones.Guardar);
         Cargar(GridView_unidades_negocio);
     }
     catch (Exception e)
     {
         Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Error al adicionar unidad de negocio." + e.Message, Proceso.Error);
     }
 }
    private void crgar_menu_botones()
    {
        String USU_LOG = Session["USU_LOG"].ToString();

        tools _tools = new tools();

        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaAreas = _seguridad.ObtenerAreaTodasConContadorPermisos(USU_LOG);

        if (tablaAreas.Rows.Count <= 0)
        {
            Session.RemoveAll();
            Response.Redirect("~/Seguridad/Login.aspx");
        }
        else
        {

            DataRow filaArea;

            TableRow filaTabla = new TableRow();

            int contadorFilas = 0;

            for (int i = 0; i < tablaAreas.Rows.Count; i++)
            {
                filaArea = tablaAreas.Rows[i];

                if ((i >= 0) && (i < 4))
                {
                    if (i == 0)
                    {
                        contadorFilas = 0;

                        filaTabla = new TableRow();
                        filaTabla.ID = "row_" + contadorFilas.ToString();
                    }

                    filaTabla.Cells.Add(cargarCelda(i, contadorFilas, filaArea));

                    if ((i == 3) || (i == (tablaAreas.Rows.Count - 1)))
                    {
                        Table_MENU.Rows.Add(filaTabla);
                    }
                }

                if ((i >= 4) && (i < 8))
                {
                    if (i == 4)
                    {
                        contadorFilas += 1;

                        filaTabla = new TableRow();
                        filaTabla.ID = "row_" + contadorFilas.ToString();
                    }

                    filaTabla.Cells.Add(cargarCelda(i, contadorFilas, filaArea));

                    if ((i == 7) || (i == (tablaAreas.Rows.Count - 1)))
                    {
                        Table_MENU_1.Rows.Add(filaTabla);
                    }
                }

                if ((i >= 8) && (i < 12))
                {
                    if (i == 8)
                    {
                        contadorFilas += 1;

                        filaTabla = new TableRow();
                        filaTabla.ID = "row_" + contadorFilas.ToString();
                    }

                    filaTabla.Cells.Add(cargarCelda(i, contadorFilas, filaArea));

                    if ((i == 11) || (i == (tablaAreas.Rows.Count - 1)))
                    {
                        Table_MENU_2.Rows.Add(filaTabla);
                    }
                }

                if ((i >= 12) && (i < 16))
                {
                    if (i == 12)
                    {
                        contadorFilas += 1;

                        filaTabla = new TableRow();
                        filaTabla.ID = "row_" + contadorFilas.ToString();
                    }

                    filaTabla.Cells.Add(cargarCelda(i, contadorFilas, filaArea));

                    if ((i == 15) || (i == (tablaAreas.Rows.Count - 1)))
                    {
                        Table_MENU_3.Rows.Add(filaTabla);
                    }
                }
            }
        }
    }
    private void CargarUnidadNegocio(Decimal ID_EMPRESA)
    {
        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaContratosOriginal = _seguridad.ObtenerUnidadesNegocioDeUnaEmpresa(ID_EMPRESA);

        GridView_UNIDAD_NEGOCIO.DataSource = tablaContratosOriginal;
        GridView_UNIDAD_NEGOCIO.DataBind();

        Informacion_Basica_comercial _seguridadd = new Informacion_Basica_comercial(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaInformacionBasica = _seguridadd.ObtenerInformacionBasicaporId_Empresa(ID_EMPRESA);

        GVInfoBasica.DataSource = tablaInformacionBasica;
        GVInfoBasica.DataBind();
    }
    private void RolPermisos()
    {
        #region variables
        int contadorPermisos = 0;
        #endregion variables

        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        tools _tools = new tools();

        String rutaScript = _tools.obtenerRutaVerdaderaScript(Request.ServerVariables["SCRIPT_NAME"]);

        DataTable tablaInformacionPermisos = _seguridad.ObtenerPermisosBotones(NOMBRE_AREA, rutaScript);

        maestrasInterfaz _maestrasInterfaz = new maestrasInterfaz();

        contadorPermisos = _maestrasInterfaz.RolPermisos(this, tablaInformacionPermisos);
    }
    private void cargar_unidad_de_negocio(Decimal ID_EMPRESA)
    {
        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaContratosOriginal = _seguridad.ObtenerUsuariosPorEmpresa(ID_EMPRESA);

        if (tablaContratosOriginal.Rows.Count <= 0)
        {
            if (_seguridad.MensajeError != null)
            {
                Informar(panelMensajeError, lblMensajeError, _seguridad.MensajeError, Proceso.Error);
            }

            Panel_INFO_SIN_UNIDAD_NEGOCIO.Visible = true;
            Panel_GRILLA_UNIDAD_NEGOCIO.Visible = false;

            GridView_UNIDAD_NEGOCIO.DataSource = null;
            GridView_UNIDAD_NEGOCIO.DataBind();
        }
        else
        {
            Panel_INFO_SIN_UNIDAD_NEGOCIO.Visible = false;
            Panel_GRILLA_UNIDAD_NEGOCIO.Visible = true;

            GridView_UNIDAD_NEGOCIO.DataSource = tablaContratosOriginal;
            GridView_UNIDAD_NEGOCIO.DataBind();
        }
    }
    private void EnviarCorreoAComercial()
    {
        tools _tools = new tools();
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);

        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaUsuariosEmpresa = _seguridad.ObtenerUsuariosPorEmpresa(ID_EMPRESA);

        if (tablaUsuariosEmpresa.Rows.Count <= 0)
        {
            if (_seguridad.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _seguridad.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La ubicación seleccionada NO posee CONDICIONES COMERCIALES. Puede continuar con el proceso, pero debe informar personalmente a un Representante Comercial para que ingrese las CONDICIONES COMERCIALES para esta empresa.", Proceso.Advertencia);
            }
        }
        else
        {
            StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\email_conf_condiciones_comerciales.htm"));
            String html_formato_plantilla_email = archivo_original.ReadToEnd();
            archivo_original.Dispose();
            archivo_original.Close();

            String html_tabla_ubicacion_perfil = "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"400px\" style=\"font-size:11px; line-height:13px;\">";
            if (DropDownList_SUB_CENTRO.SelectedIndex > 0)
            {
                html_tabla_ubicacion_perfil += "<tr>";
                html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                html_tabla_ubicacion_perfil += "CIUDAD:";
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                html_tabla_ubicacion_perfil += DropDownList_CIUDAD.SelectedItem.Text;
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "</tr>";

                html_tabla_ubicacion_perfil += "<tr>";
                html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                html_tabla_ubicacion_perfil += "CENTRO DE COSTO:";
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                html_tabla_ubicacion_perfil += DropDownList_CENTRO_COSTO.SelectedItem.Text;
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "</tr>";

                html_tabla_ubicacion_perfil += "<tr>";
                html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                html_tabla_ubicacion_perfil += "SUB CENTRO:";
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                html_tabla_ubicacion_perfil += DropDownList_SUB_CENTRO.SelectedItem.Text;
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "</tr>";
            }
            else
            {
                if (DropDownList_CENTRO_COSTO.SelectedIndex > 0)
                {
                    html_tabla_ubicacion_perfil += "<tr>";
                    html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                    html_tabla_ubicacion_perfil += "CIUDAD:";
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                    html_tabla_ubicacion_perfil += DropDownList_CIUDAD.SelectedItem.Text;
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "</tr>";

                    html_tabla_ubicacion_perfil += "<tr>";
                    html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                    html_tabla_ubicacion_perfil += "CENTRO DE COSTO:";
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                    html_tabla_ubicacion_perfil += DropDownList_CENTRO_COSTO.SelectedItem.Text;
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "</tr>";
                }
                else
                {
                    html_tabla_ubicacion_perfil += "<tr>";
                    html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                    html_tabla_ubicacion_perfil += "CIUDAD:";
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                    html_tabla_ubicacion_perfil += DropDownList_CIUDAD.SelectedItem.Text;
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "</tr>";
                }
            }
            html_tabla_ubicacion_perfil += "</table>";

            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[RAZ_SOCIAL]", Label_INFO_ADICIONAL_MODULO.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[TABLA_UBICACION]", html_tabla_ubicacion_perfil);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOM_OCUPACION]", Label_NOM_OCUPACION.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[EDAD_MIN]", Label_EDAD_MIN.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[EDAD_MAX]", Label_EDAD_MAX.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NIVEL_ACADEMICO]", Label_NIVEL_ACADEMICO.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[EXPERIENCIA]", Label_EXPERIENCIA.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[SEXO]", Label_SEXO.Text);

            usuario _usuario = new usuario(Session["idEmpresa"].ToString());
            DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(Session["USU_LOG"].ToString());
            DataRow filaUsuario = tablaUsuario.Rows[0];

            if (filaUsuario["USU_TIPO"].ToString().ToUpper() == "PLANTA")
            {
                html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOMBRE_USUARIO]", filaUsuario["NOMBRES"].ToString().Trim() + " " + filaUsuario["APELLIDOS"].ToString().Trim());
            }
            else
            {
                html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOMBRE_USUARIO]", filaUsuario["NOMBRES_EXTERNO"].ToString().Trim() + " " + filaUsuario["APELLIDOS_EXTERNO"].ToString().Trim());
            }

            Int32 contadorEnvioEmail = 0;
            Int32 contadorErrores = 0;
            foreach (DataRow fila in tablaUsuariosEmpresa.Rows)
            {
                if (fila["UNIDAD_NEGOCIO"].ToString().Trim().Contains("REP. COMERCIAL") == true)
                {
                    if (DBNull.Value.Equals(fila["USU_MAIL"]) == false)
                    {
                        try
                        {
                            _tools.enviarCorreoConCuerpoHtml(fila["USU_MAIL"].ToString().Trim(), "CONFIGURACIÓN DE CONDICIONES COMERCIALES", html_formato_plantilla_email);
                            contadorEnvioEmail += 1;
                        }
                        catch
                        {
                            contadorErrores += 1;
                        }
                    }
                }
            }

            if (contadorEnvioEmail <= 0)
            {
                if (contadorErrores <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La ubicación seleccionada NO posee CONDICIONES COMERCIALES. Puede continuar con el proceso, pero debe informar personalmente a un Representante Comercial para que ingrese las CONDICIONES COMERCIALES para esta empresa.", Proceso.Advertencia);
                }
                else
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La ubicación seleccionada NO posee CONDICIONES COMERCIALES. Puede continuar con el proceso, pero debe informar personalmente a un Representante Comercial para que ingrese las CONDICIONES COMERCIALES para esta empresa. (Problema con envío de Emails)", Proceso.Advertencia);
                }
            }
        }
    }
    private void configurarBotonesDeAccion(Boolean bNuevo, Boolean bModificar, Boolean bGuardar, Boolean bCancelar, Boolean bVolver)
    {
        Button_NUEVO.Visible = bNuevo;
        Button_NUEVO.Enabled = bNuevo;
        Button_NUEVO_1.Visible = bNuevo;
        Button_NUEVO_1.Enabled = bNuevo;

        Boolean puedeModificar = true;

        if (bModificar == true)
        {
            seguridad _s = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

            DataTable tablaRestriccion = _s.UsuarioConRestriccionTopoReq(Session["USU_LOG"].ToString());

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

                if (fila["RESTRICCION"].ToString().Trim().ToUpper() == "TRUE")
                {
                    if (DropDownList_TIP_REQ.SelectedValue != "USUARIO")
                    {
                        puedeModificar = false;
                    }
                 }
            }

            Button_MODIFICAR.Visible = puedeModificar;
            Button_MODIFICAR.Enabled = puedeModificar;
            Button_MODIFICAR_1.Visible = puedeModificar;
            Button_MODIFICAR_1.Enabled = puedeModificar;

        }
        else
        {
            Button_MODIFICAR.Visible = bModificar;
            Button_MODIFICAR.Enabled = bModificar;
            Button_MODIFICAR_1.Visible = bModificar;
            Button_MODIFICAR_1.Enabled = bModificar;
        }

        Button_GUARDAR.Visible = bGuardar;
        Button_GUARDAR.Enabled = bGuardar;
        Button_GUARDAR_1.Visible = bGuardar;
        Button_GUARDAR_1.Enabled = bGuardar;

        Button_CANCELAR.Visible = bCancelar;
        Button_CANCELAR.Enabled = bCancelar;
        Button_CANCELAR_1.Visible = bCancelar;
        Button_CANCELAR_1.Enabled = bCancelar;

        Button_VOLVER.Visible = bVolver;
        Button_VOLVER.Enabled = bVolver;
        Button_VOLVER_1.Visible = bVolver;
        Button_VOLVER_1.Enabled = bVolver;
    }
    private void CargarDatosEstadoRequisicion(Boolean modificar, DataRow filaRequisicion)
    {
        DateTime fechaVencimiento;

        DateTime fechaHoy = Convert.ToDateTime(DateTime.Now.ToShortDateString());

        Int32 diasAviso = obtenerParametroAvisoDiasVencimientoContrato();

        if (modificar == false)
        {
            configurarPaneles(false, false, false, false, false, true);

            if ((filaRequisicion["CUMPLIDO"].ToString() == "N") && (filaRequisicion["CANCELADO"].ToString() == "N"))
            {

                if (HiddenField_ID_SERVICIO_RESPECTIVO.Value == "")
                {
                    fechaVencimiento = new DateTime();
                }
                else
                {
                    fechaVencimiento = Convert.ToDateTime(GridView_CONTRATOS_ACTIVOS.SelectedRow.Cells[3].Text);
                }

                if (fechaVencimiento < fechaHoy)
                {
                    configurarMensajes(true, System.Drawing.Color.Red);
                    Label_MENSAJE.Text = "El Servicio Respectivo asociado a la requisición está vencido ó no se pudo determinar.";
                    Panel_BOTONES_ACCIONES_REQUISICION.Visible = false;
                }
                else
                {
                    if (fechaVencimiento.AddDays(-diasAviso) <= fechaHoy)
                    {
                        configurarMensajes(true, System.Drawing.Color.Orange);
                        Label_MENSAJE.Text = "El Servicio Respectivo asociado a la requisición está por vencer.";
                        Panel_BOTONES_ACCIONES_REQUISICION.Visible = true;
                    }
                    else
                    {
                        Panel_BOTONES_ACCIONES_REQUISICION.Visible = true;
                    }
                }

                seguridad _s = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                DataTable tablaRestriccion = _s.UsuarioConRestriccionTopoReq(Session["USU_LOG"].ToString());

                if (tablaRestriccion.Rows.Count <= 0)
                {
                    Button_COPIAR_REQ.Visible = true;
                }
                else
                {
                    DataRow fila = tablaRestriccion.Rows[0];

                    if (fila["RESTRICCION"].ToString().Trim().ToUpper() == "TRUE")
                    {
                        if (DropDownList_TIP_REQ.SelectedValue != "USUARIO")
                        {
                            Button_COPIAR_REQ.Visible = false;
                        }
                        else
                        {
                            Button_COPIAR_REQ.Visible = true;
                        }
                    }
                    else
                    {
                        Button_COPIAR_REQ.Visible = true;
                    }
                }
            }
            else
            {
                Panel_BOTONES_ACCIONES_REQUISICION.Visible = false;

                if (filaRequisicion["CUMPLIDO"].ToString().ToUpper() == "S")
                {
                    configurarMensajes(true, System.Drawing.Color.Orange);
                    Label_MENSAJE.Text = "La requisición NO puede ser editada porque su estado es CUMPLIDA por: " + filaRequisicion["MOTIVO_CUMPLIDO"].ToString().Trim() + ".";
                }
                else
                {
                    if (filaRequisicion["CANCELADO"].ToString().ToUpper() == "S")
                    {
                        configurarMensajes(true, System.Drawing.Color.Orange);
                        Label_MENSAJE.Text = "La requisición NO puede ser editada porque su estado es CANCELADA por: " + filaRequisicion["MOTIVO_CANCELA"].ToString().Trim() + ".";
                    }
                    else
                    {
                        configurarMensajes(true, System.Drawing.Color.Red);
                        Label_MENSAJE.Text = "La requisición NO puede ser editada porque su estado es DESCONOCIDO.";
                    }
                }
            }
        }
        else
        {
            configurarPaneles(false, false, false, false, false, true);
            Panel_BOTONES_ACCIONES_REQUISICION.Visible = false;
        }

        if (modificar == true)
        {
            configurarBotonesDeAccion(false, false, true, true, true);
            Panel_BOTONES_ACCION_1.Visible = true;
        }
        else
        {
            Panel_BOTONES_ACCION_1.Visible = false;
            if ((filaRequisicion["CUMPLIDO"].ToString().ToUpper() == "N") && (filaRequisicion["CANCELADO"].ToString().ToUpper() == "N"))
            {
                if (HiddenField_ID_SERVICIO_RESPECTIVO.Value == "")
                {
                    fechaVencimiento = new DateTime();
                }
                else
                {
                    fechaVencimiento = Convert.ToDateTime(GridView_CONTRATOS_ACTIVOS.SelectedRow.Cells[3].Text);
                }

                if (fechaVencimiento < fechaHoy)
                {
                    configurarBotonesDeAccion(true, true, false, false, true);
                }
                else
                {
                    if (fechaVencimiento.AddDays(-diasAviso) <= fechaHoy)
                    {
                        configurarBotonesDeAccion(true, true, false, false, true);
                    }
                    else
                    {
                        configurarBotonesDeAccion(true, true, false, false, true);
                    }
                }
            }
            else
            {
                configurarBotonesDeAccion(true, false, false, false, true);
            }
        }

        Button_ENVIAR_CANDIDATOS.Visible = true;
    }