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); }
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); }