Example #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            Master.nBotonera         = 0;
            Master.TituloPagina      = "Detalle de comunicados";
            Master.bFuncionesLocales = true;
            Master.FuncionesJavaScript.Add("Javascript/boxover.js");
            Master.Modulo = "NEUTRAL";
            try
            {
                Session["HAYAVISOS"] = "0";
                //Mostrar avisos únicamente al usuario real, no los de reconexión.
                if ((int)Session["IDFICEPI_PC_ACTUAL"] == (int)Session["IDFICEPI_ENTRADA"] &&
                    (int)Session["IDFICEPI_CVT_ACTUAL"] == (int)Session["IDFICEPI_ENTRADA"])
                {
                    //SqlDataReader dr2 = USUARIOAVISOS.SelectByT314_idusuario(null, (int)Session["UsuarioActual"]);
                    //Victor 17/06/2010: mostrar los avisos del usuario de entrada
                    SqlDataReader dr = USUARIOAVISOS.SelectByT314_idusuario(null, (int)Session["NUM_EMPLEADO_ENTRADA"]);
                    if (dr.Read())
                    {
                        Session["HAYAVISOS"] = "1";
                    }
                    dr.Close();
                    dr.Dispose();
                }
                if (Session["HAYAVISOS"].ToString() == "1")
                {
                    this.Controls.Add(LoadControl("~/Capa_Presentacion/UserControls/AvisosNav.ascx"));
                    Session["HAYAVISOS"] = "0"; //19/12/2014: Victor dixit: para que los avisos salgan una sola vez cuando se entra en la aplicación.
                }
                else
                {   //Si no hay avisos de Admon y hemos accedido desde menú para ver los que hay
                    sMensajeMMOFF = "No existen comunicados de Administración para Ud.";
                    bMostrarMMOFF = true;
                }

                if (bMostrarMMOFF)
                {
                    //this.Controls.Add(LoadControl("~/Capa_Presentacion/UserControls/mensajeOff.ascx"));
                    this.Controls.Add(LoadControl("~/Capa_Presentacion/UserControls/Msg/mmoff.ascx"));
                }
            }
            catch (Exception ex)
            {
                Master.sErrores = Errores.mostrarError("Error al carar la página", ex);
            }
            //1º Se indican (por este orden) la función a la que se va a devolver el resultado
            //   y la función que va a acceder al servidor
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
            //2º Se "registra" la función que va a acceder al servidor.
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }
        //public string GetCallbackResult()
        //{
        //    //Se envía el resultado al cliente.
        //    return _callbackResultado;
        //}
        //public void RaiseCallbackEvent(string eventArg)
        //{
        //    string sResultado = "";
        //    //1º Si hubiera argumentos, se recogen y tratan.
        //    //string MisArg = eventArg;
        //    string[] aArgs = Regex.Split(eventArg, "@#@");
        //    sResultado = aArgs[0] + @"@#@";

        //    //2º Aquí realizaríamos el acceso a BD, etc,...
        //    switch (aArgs[0])
        //    {
        //        case ("eliminar"):
        //            sResultado += EliminarAviso(aArgs[1]);
        //            break;
        //    }

        //    //3º Damos contenido a la variable que se envía de vuelta al cliente.
        //    _callbackResultado = sResultado;
        //}
        private string ObtenerAvisos()
        {
            StringBuilder sb = new StringBuilder();
            string        sAfect;

            //sb.Append(" aProy = new Array();\n");
            sb.Append("<table id='tblDatos'>");
            //SqlDataReader dr = USUARIOAVISOS.SelectByT314_idusuario(null, int.Parse(Session["UsuarioActual"].ToString()));
            //Victor 17/06/2010: mostrar los avisos del usuario de entrada
            SqlDataReader dr = USUARIOAVISOS.SelectByT314_idusuario(null, (int)Session["NUM_EMPLEADO_ENTRADA"]);

            //int i = 0;
            while (dr.Read())
            {
                //Al haber saltos de línea no puedo usar un array por lo que cargo una tabla oculta
                //sb.Append("\taProy[" + i.ToString() + "] = {" +
                //                "titulo:\"" + Utilidades.escape(dr["t448_titulo"].ToString()) + "\"," +
                //                "texto:\"" + Utilidades.escape(dr["t448_texto"].ToString()) + "\"};\n");
                //i++;
                sAfect = "";
                sb.Append("<tr id='" + dr["t448_idaviso"].ToString() + "' titulo='" + dr["t448_titulo"].ToString() + "'");
                sb.Append(" texto='" + dr["t448_texto"].ToString() + "' afect='");
                if ((bool)dr["t448_IAP"])
                {
                    sAfect += "IAP, ";
                }
                if ((bool)dr["t448_PGE"])
                {
                    sAfect += "PGE, ";
                }
                if ((bool)dr["t448_PST"])
                {
                    sAfect += "PST, ";
                }
                if (sAfect.Length > 0)
                {
                    sAfect = sAfect.Substring(0, sAfect.Length - 2);
                }
                else
                {
                    sAfect = "NINGUNO";
                }
                sb.Append(sAfect);
                sb.Append("'><td></td></tr>");
            }
            sb.Append("</table>");
            dr.Close();
            dr.Dispose();
            return(sb.ToString());
        }