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); } }
protected string Grabar(string sAccion, string strAvisos) { string sResul = ""; #region abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccionSerializable(oConn); } catch (Exception ex) { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } #endregion try { #region Avisos if (strAvisos != "") { string[] aAvisos = Regex.Split(strAvisos, "##"); foreach (string sIdAviso in aAvisos) { if (sIdAviso != "") { USUARIOAVISOS.BorrarTodos(tr, int.Parse(sIdAviso)); if (sAccion == "T") { USUARIOAVISOS.InsertarTodos(tr, int.Parse(sIdAviso)); } } } } #endregion Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar los profesionales asignados al aviso", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }
//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()); }
private string EliminarAviso(string sIdAviso) { string sResul = "OK@#@"; #region abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(oConn); } catch (Exception ex) { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } #endregion try { if (sIdAviso != "") { //Victor 17/06/2010: mostrar los avisos del usuario de entrada //USUARIOAVISOS.Delete(tr, int.Parse(sIdAviso), int.Parse(Session["UsuarioActual"].ToString())); //int iNumAvisos = USUARIOAVISOS.CountByUsuario(tr, int.Parse(Session["UsuarioActual"].ToString())); USUARIOAVISOS.Delete(tr, int.Parse(sIdAviso), (int)Session["NUM_EMPLEADO_ENTRADA"]); int iNumAvisos = USUARIOAVISOS.CountByUsuario(tr, (int)Session["NUM_EMPLEADO_ENTRADA"]); if (iNumAvisos == 0) { Session["HAYAVISOS"] = "0"; } } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al eliminar el aviso " + sIdAviso, ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }
protected string Grabar(string sCodAviso, string strDatosBasicos, string strDatosRecursos) { string sResul = "", sOpcionBD, sDesc, sTitulo, sDescLong; bool bIAP = false, bPGE = false, bPST = false; int iCodAviso, iCodRecurso; DateTime?dIniV = null; DateTime?dFinV = null; #region abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccionSerializable(oConn); } catch (Exception ex) { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } #endregion try { if (sCodAviso == "0") { iCodAviso = -1; } else { iCodAviso = int.Parse(sCodAviso); } #region Datos generales if (strDatosBasicos != "")//No se ha modificado nada de la pestaña general { string[] aDatosTarea = Regex.Split(strDatosBasicos, "##"); ///aDatosTarea[0] = Denominacion aviso ///aDatosTarea[1] = Titulo aviso ///aDatosTarea[2] = Texto libre ///aDatosTarea[3] = chkIAP ///aDatosTarea[4] = chkPGE ///aDatosTarea[5] = chkPST ///aDatosTarea[6] = txtValIni ///aDatosTarea[7] = txtValFin sDesc = Utilidades.unescape(aDatosTarea[0]); sTitulo = Utilidades.unescape(aDatosTarea[1]); sDescLong = Utilidades.unescape(aDatosTarea[2]); if (aDatosTarea[3] == "1") { bIAP = true; } if (aDatosTarea[4] == "1") { bPGE = true; } if (aDatosTarea[5] == "1") { bPST = true; } if (aDatosTarea[6] != "") { dIniV = DateTime.Parse(aDatosTarea[6]); } if (aDatosTarea[7] != "") { dFinV = DateTime.Parse(aDatosTarea[7]); } if (iCodAviso <= 0) { iCodAviso = TEXTOAVISOS.Insert(tr, sDesc, sTitulo, sDescLong, bIAP, bPGE, bPST, dIniV, dFinV); } else { TEXTOAVISOS.Update(tr, iCodAviso, sDesc, sTitulo, sDescLong, bIAP, bPGE, bPST, dIniV, dFinV); } } #endregion #region Recursos if (strDatosRecursos != "") { string[] aRecursos = Regex.Split(strDatosRecursos, "///"); foreach (string oRec in aRecursos) { string[] aValores = Regex.Split(oRec, "##"); ///aValores[0] = opcionBD; ///aValores[1] = idRecurso; if (aValores[0] != "") { sOpcionBD = aValores[0]; iCodRecurso = int.Parse(aValores[1]); if (iCodRecurso == -1) { //Queremos operar sobre todos los profesionales USUARIOAVISOS.BorrarTodos(tr, iCodAviso); if (sOpcionBD == "I") //Queremos asignar el aviso a todos los profesionales { USUARIOAVISOS.InsertarTodos(tr, iCodAviso); } break; } switch (sOpcionBD) { case "I": USUARIOAVISOS.Insert(tr, iCodAviso, iCodRecurso); break; case "D": USUARIOAVISOS.Delete(tr, iCodAviso, iCodRecurso); break; } } } } #endregion Conexion.CommitTransaccion(tr); sResul = "OK@#@" + DateTime.Now.ToString() + "@#@" + Session["UsuarioActual"].ToString() + "@#@" + Session["APELLIDO1"].ToString() + " " + Session["APELLIDO2"].ToString() + ", " + Session["NOMBRE"].ToString() + "@#@" + iCodAviso.ToString(); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del aviso", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }