public void InsertarLibro(Model.Libro libro) { using (var context = new Model.BibliotecaContextContainer()) { try { context.LibroSet.Add(libro); context.SaveChanges(); } catch (Exception e) { throw new Exception("No se ha podido insertar el libro ", e); } } }
public ObservableCollection <Model.Libro> GetLibros(int clasificacionId) {//Construimos la query SQL string GetLibrosQuery = "select LibroId, Titulo, Imagen, Nombre, Apellidos, LibroSet.Descripcion, GeneroSet.Descripcion, ClasificacionSet.Descripcion " + " from LibroSet join AutorSet on AutorAutorId = AutorId " + "join GeneroSet on GeneroGeneroId = GeneroId join ClasificacionSet on ClasificacionClasificacionId = ClasificacionId" + " where ClasificacionClasificacionId=" + clasificacionId; var libros = new ObservableCollection <Model.Libro>(); try {//Obtenemos la cadena de conexión var cadenaConex = (App.Current as App).ConnectionString; using (var conn = new SqlConnection(cadenaConex)) { //Abrimos la conexión a la base de datos conn.Open(); if (conn.State == System.Data.ConnectionState.Open) { using (SqlCommand cmd = conn.CreateCommand()) {//Ejecutamos la consulta cmd.CommandText = GetLibrosQuery; using (SqlDataReader reader = cmd.ExecuteReader()) {//Leemos los datos y lo almacenamos en el modelo while (reader.Read()) { var libro = new Model.Libro(); libro.LibroID = reader.GetInt32(0); libro.Titulo = reader.GetString(1); libro.Imagen = LoadImageAsync((byte[])reader[2]); string autorNombre = reader.GetString(3); string autorApellido = reader.GetString(4); libro.Autor = autorApellido + ", " + autorNombre; libro.Descripcion = reader.GetString(5); libro.GenDesc = reader.GetString(6); libro.Clasificacion = reader.GetString(7); //Añadimos el objeto a la lista libros.Add(libro); } } } } } return(libros); } catch (Exception eSql) { throw new Exception("Exception: " + eSql.Message); } }
public void ActualizarLibro(Model.Libro libro) { using (var context = new Model.BibliotecaContextContainer()) { try { var li = context.LibroSet.FirstOrDefault(x => x.LibroId == libro.LibroId); context.Entry(li).State = System.Data.Entity.EntityState.Modified; context.Entry(li).CurrentValues.SetValues(libro); context.SaveChanges(); } catch (Exception e) { throw new Exception("No se ha podido actualizar el libro ", e); } } }