public IActionResult MuestraLibro(String id) { //recuperar de la BD el objeto libro con ese id... y pasarselo a la vista //Libro LibroEncontrado = from unlibro in List //ViewData["materias"] = this.__accesoDB.DevolverMaterias(0); Libro _libro = __accesoDB.DevolverLibroPorISBN(id); return(View("MuestraLibro", _libro)); }
private List <Libro> actualizarPedido(String isbn, String accion) { Dictionary <Libro, int> dicLibros = new Dictionary <Libro, int>(); List <Libro> listLibros; Libro libro = __accesoDB.DevolverLibroPorISBN(isbn); String cookieLibros = HttpContext.Session.GetString("Libros"); if (cookieLibros == null) { // aún no hay libros en las cookies dicLibros.Add(libro, 1); listLibros = new List <Libro>(dicLibros.Keys); HttpContext.Session.SetString("Libros", JsonConvert.SerializeObject(listLibros)); } else { // ya hay libros en las cookies listLibros = JsonConvert.DeserializeObject <List <Libro> >(cookieLibros); switch (accion) { case "add": listLibros.Add(libro); break; case "dec": // esto borra solo al ultimo de la lista, para no alterar el orden de los libros en el carrito listLibros.Reverse(); listLibros.Remove(libro); listLibros.Reverse(); break; case "drop": // hago un bucle por que no he encontrado otra forma de borrar de la lista todas las instancias de un libro while (listLibros.Remove(libro)) { listLibros.Remove(libro); } break; } HttpContext.Session.SetString("Libros", JsonConvert.SerializeObject(listLibros)); } return(listLibros); }