public static bool RegistrarTransaccion(int id_usuario, int id_curso, DateTime fecha_inicio, DateTime fecha_fin, int puntuacion, string observaciones) { bool resultado = false; string cadenaConexion = System.Configuration.ConfigurationManager.AppSettings["CadenaDB"]; SqlConnection cn = new SqlConnection(cadenaConexion); cn.Open(); SqlCommand cmd = cn.CreateCommand(); //comenzar una transaccion SqlTransaction transaction; transaction = cn.BeginTransaction(); //se asigna objeto de transaccion y conexion al Objeto comando cmd.Connection = cn; cmd.Transaction = transaction; try { //insert inscripcion (tabla UsuariosCurso) RegistrarInscripcion(id_usuario, id_curso, fecha_inicio, fecha_fin, puntuacion, observaciones, cmd); //insert avance (tabla UsuariosCursoavance) AD_AvanceCurso.RegistrarAvance(id_usuario, id_curso, fecha_inicio, fecha_fin, cmd); string usuario = Login.usuarioActual; AD_HistorialInscripcion.RegistrarHistorial(usuario, id_usuario, id_curso, cmd, 1); //si ambos se realizaron exitosamente, se hace commit //if (ins == true && curAvanc == true) transaction.Commit(); resultado = true; } catch { transaction.Rollback(); return(resultado); throw; } finally { cn.Close(); } return(resultado); }
public static bool ModificarInscripcion(int id_curso, int id_usuario, int puntuacion, string observaciones) { bool resultado = false; string cadenaConexion = System.Configuration.ConfigurationManager.AppSettings["CadenaDB"]; SqlConnection cn = new SqlConnection(cadenaConexion); cn.Open(); SqlCommand cmd = cn.CreateCommand(); //comenzar una transaccion SqlTransaction transaction; transaction = cn.BeginTransaction(); //se asigna objeto de transaccion y conexion al Objeto comando cmd.Connection = cn; cmd.Transaction = transaction; try { string consulta = "UPDATE USUARIOSCURSO SET PUNTUACION=@PUNTUACION, OBSERVACIONES=@OBSERVACIONES WHERE ID_CURSO=@ID_CURSO AND ID_USUARIO=@ID_USUARIO "; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@ID_USUARIO", id_usuario); cmd.Parameters.AddWithValue("@ID_CURSO", id_curso); cmd.Parameters.AddWithValue("@PUNTUACION", puntuacion); cmd.Parameters.AddWithValue("@OBSERVACIONES", observaciones); cmd.CommandType = CommandType.Text; cmd.CommandText = consulta; cmd.ExecuteNonQuery(); string usuario = Login.usuarioActual; AD_HistorialInscripcion.RegistrarHistorial(usuario, id_usuario, id_curso, cmd, 2); transaction.Commit(); resultado = true; } catch { transaction.Rollback(); return(resultado); throw; } finally { cn.Close(); } return(resultado); }