public static string Procesar(string sRegistros, string strDatos) { string sResul = "", sEstadoMes = ""; int nPSN_C = 0, nPSN_J = 0, nPSN_P = 0, nSegMesProy = 0; int nIDEmpresaNodoProyecto_C = 0; int nNodoUsuario = 0, nEmpresaNodoUsuario = 0, nNodo_C = 0, nNodo_J = 0, nNodo_P = 0; decimal nTipoCambio_C = 0, nTipoCambio_J = 0, nTipoCambio_P = 0; SqlConnection oConn = null; SqlTransaction tr = null; bool bErrorControlado = false; string[] aIncentivos = Regex.Split(strDatos, "#reg#"); #region Abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccionSerializable(oConn); } catch { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } throw (new Exception("Error al abrir la conexión.")); } #endregion try { //inserto los registros seleccionados en la T726_INCENTIVOSPRODUCTIVIDAD Capa_Datos.INCENTIVOSPRODUCTIVIDAD.Insertar(tr, sRegistros); //Trato los registros seleccionados int i = 0; foreach (string oIncentivo in aIncentivos) { i++; if (oIncentivo == "") { continue; } string[] aDatos = Regex.Split(oIncentivo, "#sep#"); #region Datos Incentivo //aDatos[0] = id incentivo //0 //aDatos[1] = idusuario //1 //aDatos[2] = idnodo_usuario //2 //aDatos[3] = importe //3 //aDatos[4] = idproyecto //4 //aDatos[5] = anomes //5 //aDatos[6] = Profesional //6 //aDatos[7] = Denominación proyecto //7 //aDatos[8] = importe SS //8 #endregion #region inicializar variables nPSN_C = 0; nPSN_J = 0; nPSN_P = 0; nSegMesProy = 0; nIDEmpresaNodoProyecto_C = 0; nNodoUsuario = 0; nEmpresaNodoUsuario = 0; nNodo_C = 0; nNodo_J = 0; nNodo_P = 0; nTipoCambio_C = 0; nTipoCambio_J = 0; nTipoCambio_P = 0; #endregion DataSet ds = Capa_Datos.INCENTIVOSPRODUCTIVIDAD.ObtenerInstanciasProyecto(tr, int.Parse(aDatos[4]), int.Parse(aDatos[1]), int.Parse(aDatos[5])); foreach (DataRow oFila in ds.Tables[0].Rows) { switch (oFila["t305_cualidad"].ToString()) { case "C": nPSN_C = (int)oFila["t305_idproyectosubnodo"]; nNodo_C = (int)oFila["t303_idnodo"]; nIDEmpresaNodoProyecto_C = (int)oFila["t313_idempresa_nodo"]; nTipoCambio_C = decimal.Parse(oFila["t699_tipocambio"].ToString()); break; case "J": nPSN_J = (int)oFila["t305_idproyectosubnodo"]; nNodo_J = (int)oFila["t303_idnodo"]; nTipoCambio_J = decimal.Parse(oFila["t699_tipocambio"].ToString()); break; case "P": nPSN_P = (int)oFila["t305_idproyectosubnodo"]; nNodo_P = (int)oFila["t303_idnodo"]; nTipoCambio_P = decimal.Parse(oFila["t699_tipocambio"].ToString()); break; } if (nNodoUsuario == 0) { nNodoUsuario = (int)oFila["t303_idnodo_usuario"]; } if (nEmpresaNodoUsuario == 0) { nEmpresaNodoUsuario = (int)oFila["t313_idempresa_nodousuario"]; } } if (nPSN_C == 0) { sResul = "Instancia contratante del proyecto económico no existente"; bErrorControlado = true; throw (new Exception(sResul)); } if (nPSN_P != 0) //Réplica con gestión { nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN_P, int.Parse(aDatos[5])); if (nSegMesProy == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN_P, int.Parse(aDatos[5])); nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN_P, int.Parse(aDatos[5]), sEstadoMes, 0, 0, false, 0, 0); } DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividad, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[3]) * nTipoCambio_P, null, null, 4); DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividadSS, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[8]) * nTipoCambio_P, null, null, 4); } else if (nNodo_C == nNodoUsuario) //El usuario pertenece a la Contratante { nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN_C, int.Parse(aDatos[5])); if (nSegMesProy == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN_C, int.Parse(aDatos[5])); nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN_C, int.Parse(aDatos[5]), sEstadoMes, 0, 0, false, 0, 0); } DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividad, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[3]) * nTipoCambio_C, null, null, 4); DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividadSS, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[8]) * nTipoCambio_C, null, null, 4); } else //Réplica sin gestión { //Para la réplica sin gestión if (nNodo_J == 0) //no existe la réplica sin gestión, por lo que hay que crearla. { #region Creación de la instancia de proyecto int nCountManiobraTipo1 = 0, idNodoAuxManiobra = 0, nCountSubnodosNoManiobra = 0, idNodoAuxDestino = 0, idSubNodoGrabar = 0; int nResponsablePSN = 0; DataSet dsSubnodos = PROYECTOSUBNODO.ObtenerSubnodosParaReplicar(tr, nNodoUsuario); foreach (DataRow oFila in dsSubnodos.Tables[0].Rows) { if ((byte)oFila["t304_maniobra"] == 1) { nCountManiobraTipo1++; idNodoAuxManiobra = (int)oFila["t304_idsubnodo"]; } else { nCountSubnodosNoManiobra++; idNodoAuxDestino = (int)oFila["t304_idsubnodo"]; } } if (nCountSubnodosNoManiobra == 1) //si solo hay un subnodo en el nodo, que la réplica se haga a ese subnodo. { idSubNodoGrabar = idNodoAuxDestino; } else { if (nCountManiobraTipo1 == 0) { NODO oNodo2 = NODO.SelectEnTransaccion(tr, nNodoUsuario); nResponsablePSN = oNodo2.t314_idusuario_responsable; //crear subnodo maniobra idSubNodoGrabar = SUBNODO.Insert(tr, "Proyectos a reasignar", nNodoUsuario, 0, true, 1, oNodo2.t314_idusuario_responsable, null); } else { if (nCountManiobraTipo1 > 1) { ds.Dispose(); throw (new Exception("El número de subnodos de maniobra es " + nCountManiobraTipo1.ToString() + " en el nodo " + nNodoUsuario.ToString() + ". Por favor avise al administrador.")); } if (ds.Tables[0].Rows.Count - 1 > 1 || ds.Tables[0].Rows.Count - 1 == 0) { idSubNodoGrabar = idNodoAuxManiobra; } else { idSubNodoGrabar = idNodoAuxDestino; } } } ds.Dispose(); if (nResponsablePSN == 0) { NODO oNodo3 = NODO.SelectEnTransaccion(tr, nNodoUsuario); nResponsablePSN = oNodo3.t314_idusuario_responsable; } if (nTipoCambio_J == 0) { //hay que obtener el tipo de cambio de la moneda por defecto del nodo en el mes del incentivo. nTipoCambio_J = NODO.getTipocambioMonedaNodoMes(tr, nNodoUsuario, int.Parse(aDatos[5])); } nPSN_J = PROYECTOSUBNODO.Insert(tr, int.Parse(aDatos[4]), idSubNodoGrabar, false, "J", false, nResponsablePSN, Utilidades.unescape(aDatos[7]), "X", "X", false, false, false, false, false, "", "", "", null, null, null, null, null, null, false, 0); #endregion } nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN_J, int.Parse(aDatos[5])); if (nSegMesProy == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN_J, int.Parse(aDatos[5])); nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN_J, int.Parse(aDatos[5]), sEstadoMes, 0, 0, false, 0, 0); } DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividad, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[3]) * nTipoCambio_J, null, null, 4); DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividadSS, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[8]) * nTipoCambio_J, null, null, 4); //Para la contratante (se añade el nodo destino) nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN_C, int.Parse(aDatos[5])); if (nSegMesProy == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN_C, int.Parse(aDatos[5])); nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN_C, int.Parse(aDatos[5]), sEstadoMes, 0, 0, false, 0, 0); } DATOECO.Insert(tr, nSegMesProy, (nIDEmpresaNodoProyecto_C == nEmpresaNodoUsuario) ? 4 : 6, Utilidades.unescape(aDatos[6]), (decimal.Parse(aDatos[3]) + decimal.Parse(aDatos[8])) * nTipoCambio_C, nNodoUsuario, null, 4); } Capa_Datos.INCENTIVOSPRODUCTIVIDAD.Registrar(tr, int.Parse(aDatos[0])); } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); if (bErrorControlado) { sResul = ex.Message; } else { sResul = Errores.mostrarError("Error al procesar.", ex); } } finally { Conexion.Cerrar(oConn); if (sResul != "") { if (bErrorControlado) { sResul = "ErrorControlado##EC##" + sResul; } throw (new Exception(sResul)); } } return(""); }
public static string Grabar(string strDatos) { string sElementosInsertados = ""; string sResul = ""; SqlConnection oConn = null; SqlTransaction tr = null; #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); } throw (new Exception("Error al abrir la conexión. " + ex.Message)); } #endregion try { if (strDatos != "") //No se ha modificado nada { string[] aDatos = Regex.Split(strDatos, "///"); foreach (string oDatos in aDatos) { if (oDatos == "") { continue; } string[] aValores = Regex.Split(oDatos, "##"); ///aValores[0] = bd ///aValores[1] = t001_idficepi switch (aValores[0]) { case "I": SUPER.Capa_Datos.CLIENTE.Update(tr, int.Parse(aValores[1]), true); if (sElementosInsertados == "") { sElementosInsertados = aValores[1]; } else { sElementosInsertados += "//" + aValores[1]; } break; case "D": SUPER.Capa_Datos.CLIENTE.Update(tr, int.Parse(aValores[1]), false); break; } } } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al actualizar las alertas del profesional.", ex); } finally { Conexion.Cerrar(oConn); if (sResul != "") { throw (new Exception(sResul)); } } sResul = sElementosInsertados; return("OK@#@" + sResul); }
public static string Grabar(string sDelete, string sInsert, string sUpdate) { SqlConnection oConn = null; SqlTransaction tr; string sResul = "", sInsertados = ""; int nIDSector = -1; int nIDSegmen = -1; string sKey = ""; string sKeyParent = ""; //string[] aDatosBasicos = 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); } string sError = Errores.mostrarError("Error al abrir la conexión", ex); string[] aError = Regex.Split(sError, "@#@"); throw new Exception(Utilidades.escape(aError[0]), ex); } #endregion try { #region Bajas if (sDelete != "") //No se han realizado bajas { string[] aDeletes = Regex.Split(sDelete, "///"); foreach (string oDelete in aDeletes) { if (oDelete == "") { continue; } string[] aDel = Regex.Split(oDelete, "##"); ///aDel[0] = id ///aDel[1] = title ///aDel[2] = nivel ///aDel[3] = parent /// if (Utilidades.isNumeric(aDel[0])) { sKey = aDel[0]; } else { sKey = aDel[0].Substring(3, aDel[0].Length - 3); } if (aDel[2] == "1") { SUPER.DAL.SECTOR.Delete(tr, int.Parse(sKey)); } else if (aDel[2] == "2") { SUPER.DAL.SEGMENTO.Delete(tr, int.Parse(sKey)); } } } #endregion #region Inserciones if (sInsert != "") // No se han realizado Inserciones { string[] aInserts = Regex.Split(sInsert, "///"); foreach (string oInsert in aInserts) { if (oInsert == "") { continue; } string[] aInsert = Regex.Split(oInsert, "##"); ///aInsert[0] = id virtual ///aInsert[1] = title ///aInsert[2] = nivel ///aInsert[3] = parent(sector para el caso de los segmentos) ///aInsert[4] = codext // Estoy metiendo el codigo externo con el valor de la denominacion if (aInsert[2] == "1") { nIDSector = SUPER.DAL.SECTOR.Insert(tr, aInsert[1], ""); if (sInsertados == "") { sInsertados = aInsert[0] + "::N1_" + nIDSector.ToString(); } else { sInsertados += "//" + aInsert[0] + "::N1_" + nIDSector.ToString(); } } else if (aInsert[2] == "2") { if (Utilidades.isNumeric(aInsert[3])) { sKeyParent = aInsert[3]; } else { sKeyParent = aInsert[3].Substring(3, aInsert[3].Length - 3); } string sID = (int.Parse(sKeyParent) < 0) ? nIDSector.ToString() : sKeyParent; nIDSegmen = SUPER.DAL.SEGMENTO.Insert(tr, aInsert[1], "", int.Parse(sID)); if (sInsertados == "") { sInsertados = aInsert[0] + "::N2_" + nIDSegmen.ToString(); } else { sInsertados += "//" + aInsert[0] + "::N2_" + nIDSegmen.ToString(); } } } } #endregion #region Modificaciones if (sUpdate != "") //No se han realizado modificaciones { string[] aUpdates = Regex.Split(sUpdate, "///"); foreach (string oUpdate in aUpdates) { if (oUpdate == "") { continue; } string[] aUpd = Regex.Split(oUpdate, "##"); ///aUpd[0] = id ///aUpd[1] = title ///aUpd[2] = nivel ///aUpd[3] = parent(sector para el caso de los segmentos) ///aUpd[4] = codext /// if (Utilidades.isNumeric(aUpd[0])) { sKey = aUpd[0]; } else { sKey = aUpd[0].Substring(3, aUpd[0].Length - 3); } if (aUpd[2] == "1") { SUPER.DAL.SECTOR.Update(tr, int.Parse(sKey), aUpd[1], null); } else if (aUpd[2] == "2") { if (Utilidades.isNumeric(aUpd[3])) { sKeyParent = aUpd[3]; } else { sKeyParent = aUpd[3].Substring(3, aUpd[3].Length - 3); } string sID = (int.Parse(sKeyParent) < 0) ? nIDSector.ToString() : sKeyParent; SUPER.DAL.SEGMENTO.Update(tr, int.Parse(sKey), aUpd[1], null, int.Parse(sID)); } } } #endregion Conexion.CommitTransaccion(tr); if (HttpContext.Current.Cache["Lista_Sectores"] != null) { HttpContext.Current.Cache.Remove("Lista_Sectores"); } sResul = sInsertados; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); //string sError = Errores.mostrarError("Error al grabar los datos del árbol. ", ex); //string[] aError = Regex.Split(sError, "@#@"); //throw new Exception(Utilidades.escape(aError[0]), ex); throw ex; } finally { Conexion.Cerrar(oConn); } return(sResul); }
public static string Grabar(string strDatos) { string sElementosInsertados = ""; int nAux = 0; string sResul = ""; SqlConnection oConn = null; SqlTransaction tr = null; #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); } throw (new Exception("Error al abrir la conexión. " + ex.Message)); } #endregion try { if (strDatos != "") //No se ha modificado nada { string[] aCampo = Regex.Split(strDatos, "///"); //Primero se hacen las deletes para evitar errores por denominaciones duplicadas. foreach (string oCampo in aCampo) { if (oCampo == "") { continue; } string[] aValores = Regex.Split(oCampo, "##"); //0. Opcion BD. "I", "D" //1. ID Campo //2. Descripcion //3. t291_idtipodato //4. Ambito //5 t001_ficepi_owner //6 t305_idproyectosubnodo //7 t295_uidequipo if (aValores[0] != "D") { continue; } SUPER.Capa_Datos.CAMPOS.Delete(tr, int.Parse(aValores[1])); } foreach (string oCampo in aCampo) { if (oCampo == "") { continue; } string[] aValores = Regex.Split(oCampo, "##"); //0. Opcion BD. "I", "D" //1. t290_idcampo //2. t290_denominación //3. t291_idtipodato //4. Ambito //5 t001_ficepi_owner //6 t305_idproyectosubnodo //7 t295_uidequipo switch (aValores[0]) { case "I": nAux = SUPER.Capa_Datos.CAMPOS.Insert(tr, Utilidades.unescape(aValores[2]), int.Parse(HttpContext.Current.Session["IDFICEPI_ENTRADA"].ToString()), aValores[3], int.Parse(aValores[4]), (aValores[5] == "0") ? null : (int?)int.Parse(aValores[5]), (aValores[6] == "0") ? null : (int?)int.Parse(aValores[6]), (aValores[7] == "") ? null : Utilidades.unescape(aValores[7]) ); if (sElementosInsertados == "") { sElementosInsertados = nAux.ToString(); } else { sElementosInsertados += "//" + nAux.ToString(); } break; } } } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al actualizar los campos ligados a tarea.", ex); } finally { Conexion.Cerrar(oConn); if (sResul != "") { throw (new Exception(sResul)); } } sResul = sElementosInsertados; return("OK@#@" + sResul); }
public static string Grabar(string strDatos) { string sElementosInsertados = ""; string sResul = ""; SqlConnection oConn = null; SqlTransaction tr = null; #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); } throw (new Exception("Error al abrir la conexión. " + ex.Message)); } #endregion try { if (strDatos != "") //No se ha modificado nada { string[] aDatos = Regex.Split(strDatos, "///"); foreach (string oDatos in aDatos) { if (oDatos == "") { continue; } string[] aValores = Regex.Split(oDatos, "##"); ///aValores[0] = bd ///aValores[1] = t314_idusuario ///aValores[2] = t332_idtarea ///aValores[3] = t143_horas_L ///aValores[4] = t143_horas_M ///aValores[5] = t143_horas_X ///aValores[6] = t143_horas_J ///aValores[7] = t143_horas_V ///aValores[8] = t143_horas_S ///aValores[9] = t143_horas_D ///aValores[10] = t143_avisomail ////* switch (aValores[0]) { case "I": SUPER.Capa_Datos.USUARIOSIAUTO.Insert( tr, int.Parse(aValores[1]), int.Parse(aValores[2]), (aValores[3] == "") ? 0 : float.Parse(aValores[3]), (aValores[4] == "") ? 0 : float.Parse(aValores[4]), (aValores[5] == "") ? 0 : float.Parse(aValores[5]), (aValores[6] == "") ? 0 : float.Parse(aValores[6]), (aValores[7] == "") ? 0 : float.Parse(aValores[7]), (aValores[8] == "") ? 0 : float.Parse(aValores[8]), (aValores[9] == "") ? 0 : float.Parse(aValores[9]), (aValores[10] == "1") ? true : false ); if (sElementosInsertados == "") { sElementosInsertados = aValores[1]; } else { sElementosInsertados += "//" + aValores[1]; } break; case "U": SUPER.Capa_Datos.USUARIOSIAUTO.Update( tr, int.Parse(aValores[1]), int.Parse(aValores[2]), (aValores[3] == "") ? 0 : float.Parse(aValores[3]), (aValores[4] == "") ? 0 : float.Parse(aValores[4]), (aValores[5] == "") ? 0 : float.Parse(aValores[5]), (aValores[6] == "") ? 0 : float.Parse(aValores[6]), (aValores[7] == "") ? 0 : float.Parse(aValores[7]), (aValores[8] == "") ? 0 : float.Parse(aValores[8]), (aValores[9] == "") ? 0 : float.Parse(aValores[9]), (aValores[10] == "1") ? true : false ); break; case "D": SUPER.Capa_Datos.USUARIOSIAUTO.Delete(tr, int.Parse(aValores[1])); break; } } } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al grabar los parámetros de las imputaciones automáticas.", ex); } finally { Conexion.Cerrar(oConn); if (sResul != "") { throw (new Exception(sResul)); } } sResul = sElementosInsertados; return("OK@#@" + sResul); }
public static string Grabar(string strDatos) { string sResul = "", sDesc = "", sElementosInsertados = ""; int nAux = 0; SqlConnection oConn = null; SqlTransaction tr = 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 { string[] aCuenta = Regex.Split(strDatos, "///"); foreach (string oCuenta in aCuenta) { if (oCuenta == "") { continue; } string[] aValores = Regex.Split(oCuenta, "##"); //0. Opcion BD. "I", "U", "D" //1. ID //2. Descripcion //3. Volumen de negocio //4. Es cliente switch (aValores[0]) { case "I": nAux = SUPER.DAL.CUENTASCUR.Insert(tr, Utilidades.unescape(aValores[2]), decimal.Parse(aValores[3]), (aValores[4] == "1") ? true : false); if (sElementosInsertados == "") { sElementosInsertados = nAux.ToString(); } else { sElementosInsertados += "//" + nAux.ToString(); } break; case "U": SUPER.DAL.CUENTASCUR.Update(tr, int.Parse(aValores[1]), Utilidades.unescape(aValores[2]), decimal.Parse(aValores[3]), (aValores[4] == "1") ? true : false); break; case "D": SUPER.DAL.CUENTASCUR.Delete(tr, int.Parse(aValores[1])); break; } } Conexion.CommitTransaccion(tr); sResul = "OK@#@" + sElementosInsertados; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar las cuentas.", ex, false) + "@#@" + sDesc; } finally { Conexion.Cerrar(oConn); } return(sResul); }
public static string Catalogo(int iFicepiEntrada, int codAmbito, string codTipo, int t305_idproyectosubnodo, ArrayList lstCamposPT) { StringBuilder sb = new StringBuilder(); try { #region Cabecera tabla HTML sb.Append(@"<table id='tblDatos' class='texto' style='width:900px;' mantenimiento='1'> <colgroup> <col style='width:480px;' /> <col style='width:80px;' /> <col style='width:70px;' /> <col style='width:270px;' /> </colgroup>"); #endregion string strAmbito = ""; string strTitulo = ""; SqlDataReader dr = SUPER.Capa_Datos.CAMPOS.Catalogo(iFicepiEntrada, codAmbito, codTipo, t305_idproyectosubnodo, lstCamposPT); while (dr.Read()) { sb.Append("<tr bd='' id='" + dr["IDENTIFICADOR"].ToString() + "' onclick='mm(event);' "); sb.Append("creador='" + dr["t001_idficepi_creador"].ToString() + "' "); sb.Append("owner='" + dr["t001_ficepi_owner"].ToString() + "' "); sb.Append(" style='height:20px;'>"); //sb.Append("<td><img src='../../../../../images/imgFN.gif'></td>"); sb.Append("<td><nobr class='NBR W480' onmouseover='TTip(event)'>" + dr["DENOMINACION"].ToString() + "</nobr></td>"); strTitulo = ""; switch (dr["codAmbito"].ToString()) { case ("0"): strAmbito = "Empresarial"; break; case ("1"): strAmbito = "Privado"; strTitulo = dr["profesional_owner"].ToString(); break; case ("2"): strAmbito = "Proyecto"; strTitulo = dr["denominacion_proyecto"].ToString(); break; case ("3"): strAmbito = "Cliente"; strTitulo = dr["denominacion_cliente"].ToString(); break; case ("4"): strAmbito = "C.R."; strTitulo = dr["denominacion_nodo"].ToString(); break; case ("5"): strAmbito = "Equipo"; strTitulo = dr["denominacion_equipo"].ToString(); break; } sb.Append("<td><label title='" + strTitulo + "'>" + strAmbito + "</label></td>"); sb.Append("<td>" + dr["t291_denominacion"].ToString() + "</td>"); sb.Append("<td><nobr class='NBR W270' onmouseover='TTip(event)'>" + dr["ProfesionalCreador"].ToString() + "</nobr></td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</table>"); return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los campos a asignar ligados a la tarea", ex)); } }
public static string Grabar(string strDatos) { string sElementosInsertados = ""; string sResul = ""; SqlConnection oConn = null; SqlTransaction tr = null; #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); } throw (new Exception("Error al abrir la conexión. " + ex.Message)); } #endregion try { if (strDatos != "") //No se ha modificado nada { string[] aDatos = Regex.Split(strDatos, "///"); foreach (string oDatos in aDatos) { if (oDatos == "") { continue; } string[] aValores = Regex.Split(oDatos, "##"); ///aValores[0] = bd ///aValores[1] = t314_idusuario ///aValores[2] = gestor string[] aId = Regex.Split(aValores[1], "/"); SUPER.Capa_Datos.GestorSAP.Update(tr, int.Parse(aId[1]), aValores[2]); } } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al actualizar las alertas del profesional.", ex); } finally { Conexion.Cerrar(oConn); if (sResul != "") { throw (new Exception(sResul)); } } sResul = sElementosInsertados; return("OK@#@" + sResul); }
public static string EnviarCorreoRecurso(SqlTransaction tr, string sTipo, string strDatosTarea, string sEtp, string sIni, string sFin, string sObs, string sMensGen) { string sResul = ""; ArrayList aListCorreo = new ArrayList(); StringBuilder sbuilder = new StringBuilder(); string sAsunto = "", sTexto = "", sTO = "";//, sCodRed; try { if (sTipo == "I") { sAsunto = "Asignación de profesional a tarea."; sbuilder.Append(@"<BR>SUPER le informa de su asignación a la siguiente tarea:<BR><BR>"); } else { sAsunto = "Modificación de profesional de recurso a tarea."; sbuilder.Append(@"<BR>SUPER le informa de la modificación de su asignación a la siguiente tarea:<BR><BR>"); } string[] aDatosTarea = Regex.Split(strDatosTarea, "##"); //aDatosTarea[1] = hdnIdTarea //aDatosTarea[2] = idRecurso //aDatosTarea[10] = txtDesTarea //aDatosTarea[11] = txtNumPE //aDatosTarea[12] = txtPE //aDatosTarea[13] = txtPT //aDatosTarea[14] = txtFase //aDatosTarea[15] = txtActividad //aDatosTarea[16] = txtCodPST //aDatosTarea[17] = txtDesPST //aDatosTarea[18] = txtOTL //aDatosTarea[19] = txtIncidencia sbuilder.Append("<label style='width:120px'>Proyecto económico: </label>" + aDatosTarea[11] + @" - " + Utilidades.unescape(aDatosTarea[12]) + "<br>"); sbuilder.Append("<label style='width:120px'>Proyecto Técnico: </label>" + Utilidades.unescape(aDatosTarea[13]) + "<br>"); if (aDatosTarea[14] != "") { sbuilder.Append("<label style='width:120px'>Fase: </label>" + Utilidades.unescape(aDatosTarea[14]) + "<br>"); } if (aDatosTarea[15] != "") { sbuilder.Append("<label style='width:120px'>Actividad: </label>" + Utilidades.unescape(aDatosTarea[15]) + "<br>"); } sbuilder.Append("<label style='width:120px'>Tarea: </label><b>" + aDatosTarea[1] + @" - " + Utilidades.unescape(aDatosTarea[10]) + "</b><br><br>"); sbuilder.Append("<b>Información de la tarea:</b><br><br>"); if (aDatosTarea[16] != "") { sbuilder.Append("<label style='width:120px'>OTC: </label>" + Utilidades.unescape(aDatosTarea[16]) + " - " + Utilidades.unescape(aDatosTarea[17]) + "<br>"); } if (aDatosTarea[18] != "") { sbuilder.Append("<label style='width:120px'>OTL: </label>" + Utilidades.unescape(aDatosTarea[18]) + "<br>"); } if (aDatosTarea[19] != "") { sbuilder.Append("<label style='width:120px'>Incidencia/Petición: </label>" + Utilidades.unescape(aDatosTarea[19]) + "<br>"); } if ((sEtp == null) || (sEtp == "")) { sEtp = "0"; } sbuilder.Append("<label style='width:120px'>Esfuerzo: </label>" + sEtp + " horas<br>"); if (sIni == "") { sbuilder.Append("<label style='width:120px'>F/Inicio: </label> <br>"); } else { sbuilder.Append("<label style='width:120px'>F/Inicio: </label>" + sIni.Substring(0, 10) + "<br>"); } if (sFin == "") { sbuilder.Append("<label style='width:120px'>F/Fin: </label> <br>"); } else { sbuilder.Append("<label style='width:120px'>F/Fin: </label>" + sFin.Substring(0, 10) + "<br>"); } sbuilder.Append("<label style='width:120px'>Indicaciones generales: </label>" + Utilidades.unescape(sMensGen) + "<br>"); sbuilder.Append("<label style='width:120px'>Indicaciones particulares: </label>" + Utilidades.unescape(sObs) + "<br>"); //sTO = Utilidades.unescape(aDatosTarea[2]); //sCodRed = Recurso.CodigoRed(int.Parse(sTO)); //sTO = sCodRed.Replace(";", @"/"); //if (System.Configuration.ConfigurationManager.ConnectionStrings["ENTORNO"].ToString() == "D") //{ // sTO = HttpContext.Current.Session["IDRED_ENTRADA"].ToString(); // sAsunto += " (" + sCodRed + ")"; //} sTO = SUPER.Capa_Negocio.Recurso.GetDireccionMail(int.Parse(aDatosTarea[2])); sTexto = sbuilder.ToString(); string[] aMail = { sAsunto, sTexto, sTO }; aListCorreo.Add(aMail); Correo.EnviarCorreos(aListCorreo); //Si el correo se ha enviado correctamente, para que no lo vuelva a enviar en el proceso nocturno //lo borro de la tabla de correos. En la tabla de correos se ha metido a través del trigger en la T336_TAREAPSPUSUARIO //Tampoco podemos quitar ese trigger ya que se pueden asignar profesionales a tareas desde otros procesos y/o triggers //Lo comento porque parece que da error de interbloqueo //SUPER.Capa_Datos.USUARIO.BorrarCorreo(tr, int.Parse(aDatosTarea[2]), 1, true, int.Parse(aDatosTarea[1])); sResul = "OK@#@"; } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al enviar correo de asignación de recurso a tarea. strDatosTarea=" + strDatosTarea, ex); } return(sResul); }
public static string obtenerUsuariosSinAvisoVto() { StringBuilder sb = new StringBuilder(); try { SqlDataReader dr = SUPER.Capa_Datos.USUSINAVISOVTO.Catalogo(); sb.Append("<TABLE id='tblDatos2' style='width: 450px;' class='texto MM' mantenimiento='1'>"); sb.Append("<colgroup><col style='width:11px;' /><col style='width: 20px' /><col style='width: 419px;' /></colgroup>"); sb.Append("<tbody>"); while (dr.Read()) { sb.Append("<tr id='" + dr["t001_idficepi"].ToString() + "' bd='' style='height:20px;' tipo='" + dr["tipo"].ToString() + "'"); sb.Append(" onmousedown='DD(event)' onclick='mm(event)'>"); sb.Append("<td style='padding-left:1px'><img src='../../../images/imgFN.gif'></td>"); sb.Append("<td align='center'>"); if (dr["t001_sexo"].ToString() == "V") { switch (dr["tipo"].ToString()) { case "P": sb.Append("<img src='../../../images/imgUsuPV.gif'>"); break; case "E": sb.Append("<img src='../../../images/imgUsuEV.gif'>"); break; case "F": sb.Append("<img src='../../../images/imgUsuFV.gif'>"); break; } } else { switch (dr["tipo"].ToString()) { case "P": sb.Append("<img src='../../../images/imgUsuPM.gif'>"); break; case "E": sb.Append("<img src='../../../images/imgUsuEM.gif'>"); break; case "F": sb.Append("<img src='../../../images/imgUsuFM.gif'>"); break; } } sb.Append("</td>"); sb.Append("<td style='text-align:left;' ><nobr class='NBR' style='width:400px'>" + dr["Profesional"].ToString() + "</nobr></td>"); sb.Append("</tr>" + (char)10); } dr.Close(); dr.Dispose(); sb.Append("</tbody>"); sb.Append("</table>"); return("OK@#@" + sb.ToString());; } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener la relación de profesionales sin aviso de vencimiento.", ex)); } }
public static string ObtenerGestoresAlertas() { StringBuilder sb = new StringBuilder(); string sDenominacionG1 = ""; try { sb.Append(@"<table id='tblNegocios' style='width:560px;' cellpadding='0' cellspacing='0' border='0'> <colgroup> <col style='width:35px;' /> <col style='width:245px;' /> <col style='width:280px;' /> </colgroup> <tbody>"); int i = 0; DataSet ds = SUPER.DAL.GESTALERTAS.ObtenerGestoresAlertas(null); //Tabla[0] -> Negocios //Tabla[1] -> Gestores foreach (DataRow oFila in ds.Tables[0].Rows) { sb.Append("<tr id='" + oFila["t392_idsupernodo2"].ToString() + "' class='" + ((i % 2 == 0)?"FA":"FB") + "' valign='top'>"); sb.Append("<td style='text-align:center; padding-top:3px;'><input type='checkbox' class='check' style='cursor:pointer;' /></td>"); sb.Append("<td onmouseover='TTip(event)' style='padding-top:5px;'><nobr class='NBR W270'>" + oFila["t392_denominacion"].ToString() + "</nobr></td>"); sb.Append("<td>");//Gestores grupo 1 #region Gestores grupo 1 sb.Append(@"<table id='tblGestoresG1_" + oFila["t392_idsupernodo2"].ToString() + @"' style='width:280px;' cellpadding='0' cellspacing='0' border='0'> <colgroup> <col style='width:20px;' /> <col style='width:260px;' /> </colgroup> <tbody>"); foreach (DataRow oFilaGes in ds.Tables[1].Rows) { //if ((byte)oFilaGes["t821_idgrupoalerta"] != 1) continue; if ((int)oFilaGes["t392_idsupernodo2"] == (int)oFila["t392_idsupernodo2"]) { sb.Append("<tr id='" + oFilaGes["t314_idusuario"].ToString() + "' onclick='mef(this)' "); sb.Append("idSN2='" + oFila["t392_idsupernodo2"].ToString() + "' >"); sb.Append("<td><img src='../../../Images/imgUsu" + oFilaGes["tipo"].ToString() + oFilaGes["t001_sexo"].ToString() + ".gif' /></td>"); sb.Append("<td onmouseover='TTip(event)'><nobr class='NBR W250 MANO'>" + oFilaGes["Gestor"].ToString() + "</nobr></td>"); sb.Append("</tr>"); } else if ((int)oFilaGes["t392_idsupernodo2"] > (int)oFila["t392_idsupernodo2"]) { break; } } sb.Append(@"</tbody> </table>"); #endregion sb.Append("</td>"); sb.Append("</tr>"); i++; } sDenominacionG1 = ds.Tables[2].Rows[1]["t821_denominacion"].ToString(); ds.Dispose(); sb.Append("</tbody>"); sb.Append("</table>"); return("OK@#@" + sb.ToString() + "@#@" + sDenominacionG1); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los gestores.", ex)); } }
public static string Grabar(string strProfesionales) { string sResul = "", sElementosInsertados = ""; SqlConnection oConn = null; SqlTransaction tr = 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); } throw (new Exception("Error al abrir la conexión. " + ex.Message)); } #endregion try { #region Datos Profesionales if (strProfesionales != "")//No se ha modificado nada de la pestaña de Figuras { string[] aProfesionales = Regex.Split(strProfesionales, "///"); foreach (string oProfesional in aProfesionales) { if (oProfesional == "") { continue; } string[] aValores = Regex.Split(oProfesional, "##"); ///aValores[0] = bd ///aValores[1] = idFicepi switch (aValores[0]) { case "I": SUPER.Capa_Datos.USUSINAVISOVTO.Insert(tr, int.Parse(aValores[1])); if (sElementosInsertados == "") { sElementosInsertados = aValores[1]; } else { sElementosInsertados += "//" + aValores[1]; } break; case "D": SUPER.Capa_Datos.USUSINAVISOVTO.Delete(tr, int.Parse(aValores[1])); break; } } } #endregion Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del profesional", ex); } finally { Conexion.Cerrar(oConn); if (sResul != "") { throw (new Exception(sResul)); } } sResul = "OK@#@" + sElementosInsertados; return(sResul); }
public static string Grabar(string strDatos) { string sElementosInsertados = ""; string sResul = ""; SqlConnection oConn = null; SqlTransaction tr = null; #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); } throw (new Exception("Error al abrir la conexión. " + ex.Message)); } #endregion try { if (strDatos != "") //No se ha modificado nada { string[] aDatos = Regex.Split(strDatos, "///"); foreach (string oDatos in aDatos) { if (oDatos == "") { continue; } string[] aValores = Regex.Split(oDatos, "##"); ///aValores[0] = bd ///aValores[1] = t828_anomes ///aValores[2] = t828_limitealertas SUPER.Capa_Datos.LIMITEALERTAS.Update(tr, int.Parse(aValores[1]), (aValores[2] == "") ? null : (DateTime?)DateTime.Parse(aValores[2])); } } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al actualizar la fecha límite de alertas para dialogos.", ex); } finally { Conexion.Cerrar(oConn); if (sResul != "") { throw (new Exception(sResul)); } } sResul = sElementosInsertados; return("OK@#@" + sResul); }
public static string Grabar(string sUpdate) { SqlConnection oConn = null; SqlTransaction tr; string sResul = ""; string sKey = ""; //string[] aDatosBasicos = 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); } throw new Exception(Errores.mostrarError("Error al abrir la conexión", ex)); } #endregion try { #region Modificaciones if (sUpdate != "") //No se han realizado modificaciones { string[] aUpdates = Regex.Split(sUpdate, "///"); foreach (string oUpdate in aUpdates) { if (oUpdate == "") { continue; } string[] aUpd = Regex.Split(oUpdate, "##"); ///aUpd[0] = id ///aUpd[1] = nivel ///aUpd[2] = activo /// if (Utilidades.isNumeric(aUpd[0])) { sKey = aUpd[0]; } else { sKey = aUpd[0].Substring(3, aUpd[0].Length - 3); } if (aUpd[1] == "1") { SUPER.DAL.PAIS.ActivarDesactivar(tr, int.Parse(sKey), (aUpd[2] == "1") ? true : false); } else if (aUpd[1] == "2") { SUPER.DAL.PROVINCIA.ActivarDesactivar(tr, int.Parse(sKey), (aUpd[2] == "1") ? true : false); } } } #endregion Conexion.CommitTransaccion(tr); //if (HttpContext.Current.Cache["Lista_Ambitos"] != null) // HttpContext.Current.Cache.Remove("Lista_Ambitos"); //sResul = sInsertados; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); throw ex; } finally { Conexion.Cerrar(oConn); } return(sResul); }
/// <summary> /// Correos de petición de borrado en CVT /// </summary> /// <param name="sDatosCorreo"></param> /// <param name="sMotivo"></param> /// <returns></returns> public static string EnviarPetBorrado(string sTipo, string sDatosCorreo, string sMotivo) { string sResul = ""; ArrayList aListCorreo = new ArrayList(); StringBuilder sbuilder = new StringBuilder(); string sAsunto = ""; string sTexto = "", sTexto1 = ""; string sTO = ""; try { sTO = System.Configuration.ConfigurationManager.AppSettings["CorreoFormacion"].ToString(); sTexto1 = "Os informamos de que han solicitado eliminar el siguiente registro de un CV:"; switch (sTipo) { case "FR": //formación recibida sAsunto = "Petición de borrado de una acción formativa recibida y existente por En Forma."; break; case "FI": //formación impartida sAsunto = "Petición de borrado de una acción formativa impartida y existente por En Forma."; sTexto1 = "Os informamos de que han solicitado eliminar el siguiente registro de un CV, como monitor interno: "; break; case "EI": //Experiencia profesional en Ibermática sAsunto = "Petición de borrado de una experiencia profesional en Ibermática."; break; case "PE": //Perfil de Experiencia profesional sAsunto = "Petición de borrado de un perfil de una experiencia profesional."; break; case "EX": //Examen sAsunto = "Petición de borrado de un examen validado."; sTO = System.Configuration.ConfigurationManager.AppSettings["CorreoCertificaciones"].ToString(); break; case "CE": //Certificados sAsunto = "Petición de borrado de un certificado validado."; sTO = System.Configuration.ConfigurationManager.AppSettings["CorreoCertificaciones"].ToString(); break; } string[] aDatos = Regex.Split(sDatosCorreo, "#/#"); sbuilder.Append(@"<BR>" + sTexto1 + "<BR><BR>"); sbuilder.Append("<label style='width:140px'><b>Solicitante: </b></label>" + aDatos[0] + "<br />"); sbuilder.Append("<label style='width:140px'><b>CV del Profesional: </b></label>" + aDatos[1] + "<br />"); sbuilder.Append("<label style='width:140px'><b>Apartado del CV: </b></label>" + aDatos[2] + "<br />"); sbuilder.Append("<label style='width:140px'><b>Registro a eliminar: </b></label>" + aDatos[3] + "<br />"); sbuilder.Append("<label style='width:400px'><b>Motivo por el que se solicita la eliminación: </b></label><br />" + sMotivo + "<br />"); if (sTO != "") { //sTO = sTO.Replace(";", @"/"); sTexto = sbuilder.ToString(); //El último parámetro indica que no se debe mostrar la línea del cuerpo del mensaje string[] aMail = { sAsunto, sTexto, sTO, "N" }; aListCorreo.Add(aMail); Correo.EnviarCorreosContacto(aListCorreo); } sResul = "OK@#@"; } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al enviar correo de petición de borrado.", ex); } return(sResul); }
public static string Grabar(string strProvincias) { string sResul = ""; SqlConnection oConn = null; SqlTransaction tr; #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); } string sError = Errores.mostrarError("Error al abrir la conexión", ex); string[] aError = Regex.Split(sError, "@#@"); throw new Exception(Utilidades.escape(aError[0]), ex); } #endregion try { #region Datos Provincias if (strProvincias != "")//No se ha modificado nada de la pestaña de Figuras { string[] aProvincias = Regex.Split(strProvincias, "///"); foreach (string oProvincia in aProvincias) { if (oProvincia == "") { continue; } string[] aValores = Regex.Split(oProvincia, "##"); ///aValores[0] = id provincia ///aValores[1] = id zona SUPER.DAL.PROVINCIA.UpdateZona(tr, int.Parse(aValores[0]), int.Parse(aValores[1])); } } #endregion Conexion.CommitTransaccion(tr); sResul = ""; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); //string sError = Errores.mostrarError("Error al grabar los datos de la provincia", ex); //string[] aError = Regex.Split(sError, "@#@"); //throw new Exception(Utilidades.escape(aError[0]), ex); throw ex; } finally { Conexion.Cerrar(oConn); } return(sResul); }
public static void EstablecerAlertaDetalleProyecto(string sDatosAlertas) { string sResul = ""; SqlConnection oConn = null; SqlTransaction tr = null; #region Abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(oConn); } catch (Exception) { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } throw (new Exception("Error al abrir la conexión.")); } #endregion try { string[] aDatosAlertas = Regex.Split(sDatosAlertas, "{sepreg}"); foreach (string sDatos in aDatosAlertas) { if (sDatos == "") { continue; } string[] aValores = Regex.Split(sDatos, "{sep}"); ///aValores[0] = sPSN ///aValores[1] = id alerta ///aValores[2] = activado ///aValores[3] = inicio standby ///aValores[4] = fin standby ///aValores[5] = seguimiento SUPER.Capa_Datos.PSNALERTAS.EstablecerAlertaDetalleProyecto(tr, int.Parse(aValores[0]), byte.Parse(aValores[1]), (aValores[2] == "1") ? true : false, (aValores[3] == "") ? null : (int?)int.Parse(aValores[3]), (aValores[4] == "") ? null : (int?)int.Parse(aValores[4]), Utilidades.unescape(aValores[5]) ); } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al grabar las alertas.", ex); } finally { Conexion.Cerrar(oConn); if (sResul != "") { throw (new Exception(sResul)); } } try { } catch (Exception ex) { throw ex; } }
public static string Grabar(string strDatos) { string sResul = ""; SqlConnection oConn = null; SqlTransaction tr = null; #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); } throw (new Exception("Error al abrir la conexión. " + ex.Message)); } #endregion try { #region Alertas globales if (strDatos != "") //No se ha modificado nada { string[] aDatos = Regex.Split(strDatos, "///"); foreach (string oDatos in aDatos) { if (oDatos == "") { continue; } string[] aValores = Regex.Split(oDatos, "##"); ///aValores[0] = ID ///aValores[1] = ALERTAS ACTUALES ///aValores[2] = ALERTAS FUTURAS if (aValores[1] != "") { SUPER.Capa_Datos.ALERTAS.UpdatePSNAlertas(tr, byte.Parse(aValores[0]), aValores[1]); } if (aValores[2] != "") { SUPER.Capa_Datos.ALERTAS.UpdateNodoAlertas(tr, byte.Parse(aValores[0]), aValores[2]); } } } #endregion Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al actualizar las alertas de nodo o proyecto.", ex); } finally { Conexion.Cerrar(oConn); if (sResul != "") { throw (new Exception(sResul)); } } return("OK@#@"); }