private string Grabar(string sIdRecursoOrigen, string sRecursos) { SqlConnection oConn = null; SqlTransaction tr = null; string sResul = ""; int idUserDestino = -1; try { if (sIdRecursoOrigen == "" || sRecursos == "") {//Tenemos lista vacía. No hacemos nada } else {//Con la cadena generamos una lista y la recorremos para grabar cada elemento oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(oConn); string[] aRecursos = Regex.Split(sRecursos, @"##"); for (int i = 0; i < aRecursos.Length; i++) { idUserDestino = int.Parse(aRecursos[i]); USUARIO.CopiarPermisos(tr, int.Parse(sIdRecursoOrigen), idUserDestino); }//for Conexion.CommitTransaccion(tr); } sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar el usuario destino " + idUserDestino.ToString(), ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }