protected string EliminarAE(string strIDAE) { string sResul = ""; #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 { string[] aAE = Regex.Split(strIDAE, "##"); foreach (string oAE in aAE) { AE.Delete(tr, int.Parse(oAE)); } Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al eliminar los criterios estadísticos", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }
protected string Grabar(string strDatos, string strDatosVAE, string sNodo, string sAmbito)//string sIdAE, { string sResul = "", sNuevosAEs = ""; //int ID = int.Parse(sIdAE); int idAE; #region conexion try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(oConn); } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } #endregion try { #region AE bool bEstado = false; bool bObligatorio = false; int? nCliente = null, idNuevoAE; string[] aAE = Regex.Split(strDatos, "///"); foreach (string oAE in aAE) { if (oAE == "") { continue; } string[] aValores = Regex.Split(oAE, "##"); //0. Opcion BD. "I", "U", "D" //1. ID AE //2. Denominación //3. Estado //4. Obligatorio //5. Nodo //6. Cliente //7. Orden //8. Ambito (E-> económico, T-> técnico) bEstado = false; if (aValores[3] == "1") { bEstado = true; } bObligatorio = false; if (aValores[4] == "1") { bObligatorio = true; } nCliente = null; if (aValores[6] != "") { nCliente = int.Parse(aValores[6]); } switch (aValores[0]) { case "D": AE.Delete(tr, int.Parse(aValores[1])); break; case "I": idNuevoAE = AE.Insert(tr, Utilidades.unescape(aValores[2]), bEstado, int.Parse(aValores[7]), bObligatorio, int.Parse(aValores[5]), nCliente, aValores[8]); sNuevosAEs += aValores[1] + "##" + idNuevoAE.ToString() + "@@"; break; case "U": //AE.UpdateOrden(tr, int.Parse(aValores[1]), int.Parse(aValores[2])); AE.Update(tr, int.Parse(aValores[1]), Utilidades.unescape(aValores[2]), bEstado, int.Parse(aValores[7]), bObligatorio, int.Parse(aValores[5]), nCliente); break; } } #endregion #region VAE string[] aVAE = Regex.Split(strDatosVAE, "///"); foreach (string oVAE in aVAE) { if (oVAE == "") { break; } string[] aKeysAE = Regex.Split(sNuevosAEs, "@@"); string[] aValoresVAE = Regex.Split(oVAE, "##"); ///aValoresVAE[0] = opcionBD; ///aValoresVAE[1] = idAE; ///aValoresVAE[2] = idVAE; ///aValoresVAE[3] = Valor; ///aValoresVAE[4] = Orden; ///aValoresVAE[5] = Activo; idAE = int.Parse(aValoresVAE[1]); if (idAE < 0) { idAE = flBuscarKeyAE(aValoresVAE[1], aKeysAE); } bool bEstadoVAE = false; if (aValoresVAE[5] == "1") { bEstadoVAE = true; } switch (aValoresVAE[0]) { case "I": //VAE.Insert(tr, Utilidades.unescape(aValoresVAE[3]), bEstadoVAE, int.Parse(aValoresVAE[1]), byte.Parse(aValoresVAE[4])); VAE.Insert(tr, Utilidades.unescape(aValoresVAE[3]), bEstadoVAE, idAE, int.Parse(aValoresVAE[4])); break; case "U": //VAE.Update(tr, int.Parse(aValoresVAE[2]), Utilidades.unescape(aValoresVAE[3]), bEstadoVAE, int.Parse(aValoresVAE[1]), byte.Parse(aValoresVAE[4])); VAE.Update(tr, int.Parse(aValoresVAE[2]), Utilidades.unescape(aValoresVAE[3]), bEstadoVAE, idAE, int.Parse(aValoresVAE[4])); break; case "D": VAE.Delete(tr, int.Parse(aValoresVAE[2])); break; } } #endregion Conexion.CommitTransaccion(tr); sResul = "OK@#@" + sNuevosAEs + "@#@" + ObtenerValoresAtributosEstadisticos(sNodo, sAmbito); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar los criterios estadísticos.", ex);// +"@#@" + sDesc; } finally { Conexion.Cerrar(oConn); } return(sResul); }