public async Task <IActionResult> agregarFavorito(int id) { var autorFav = new AutoresFavoritos(); autorFav.idAutor = id; autorFav.idUsuario = (int)HttpContext.Session.GetInt32("id"); await _context.autoresFavoritos.AddAsync(autorFav); await _context.SaveChangesAsync(); var idAutor = new { id = autorFav.idAutor }; return(RedirectToAction("Details", idAutor)); }
// GET: Autor/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var autor = await _context.autores .FirstOrDefaultAsync(m => m.id == id); if (autor == null) { return(NotFound()); } autor.libros = new List <Libro>(); autor.libros = await _context.libros.Where(e => e.autorid == autor.id).ToListAsync(); if (HttpContext.Session.GetInt32("id") == 0) { return(View("DetailsInvitado", autor)); } AutoresFavoritos esFav = await _helpers.buscarAutorFavorito(autor.id, HttpContext.Session.GetInt32("id")); ViewBag.esFav = esFav; ViewBag.idAutor = autor.id; if (HttpContext.Session.GetString("esAdmin") == "True") { return(View("Details", autor)); } return(View("DetailsUser", autor)); }
//Busca un registro de autor favorito. Si existe lo devuelve, de lo contrario devuelve null. public async Task <AutoresFavoritos> buscarAutorFavorito(int idAutor, int?idUsuario) { AutoresFavoritos autorFav = await _context.autoresFavoritos.FirstOrDefaultAsync(t => t.idAutor == idAutor && t.idUsuario == idUsuario); return(autorFav); }