public async Task <IActionResult> Edit([Bind("LibroId,PerfilId,Puntaje,Comentario,Spoiler,Visible")] Perfil_Valora_Libro perfil_Valora_Libro) { if (perfil_Valora_Libro.Comentario == null) { ModelState.AddModelError("Comentario", "El comentario no puede estar vacío. Si no deseas comentar presiona el botón omitir."); } if (ModelState.IsValid) { try { perfil_Valora_Libro.Visible = !perfil_Valora_Libro.Spoiler; _context.Update(perfil_Valora_Libro); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!Perfil_Valora_LibroExists(perfil_Valora_Libro.PerfilId)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Details", "Libro", new { id = perfil_Valora_Libro.LibroId })); } return(View(perfil_Valora_Libro)); }
public IActionResult Omitir(int lid, int pid) { Perfil_Valora_Libro pvl = _context.Perfil_Valora_Libros .FirstOrDefault(c => c.LibroId == lid && c.PerfilId == pid); pvl.Comentario = null; _context.Perfil_Valora_Libros.Update(pvl); _context.SaveChanges(); return(RedirectToAction("Details", "Libro", new { id = lid })); }
public async Task <IActionResult> DesmarcarSpoiler(int pid, int libroId, int rid) { Perfil_Valora_Libro p = await _context.Perfil_Valora_Libros .FirstOrDefaultAsync(c => c.LibroId == libroId && c.PerfilId == pid); p.Spoiler = false; p.Visible = !p.Spoiler; await _context.SaveChangesAsync(); return(RedirectToAction("RechazarReporte", new { id = rid })); }
public async Task <IActionResult> MarcarSpoiler(int pid, int libroId) { Perfil_Valora_Libro p = await _context.Perfil_Valora_Libros .FirstOrDefaultAsync(c => c.LibroId == libroId && c.PerfilId == pid); p.Spoiler = true; p.Visible = !p.Spoiler; await _context.SaveChangesAsync(); return(RedirectToAction("VerComentarios", new { id = libroId })); }
// GET: Perfil_Valora_Libro/Edit/5 public async Task <IActionResult> Edit(Perfil_Puntua_Libro ppl) { if (ppl == null) { return(NotFound()); } Perfil_Valora_Libro pvl = await _context.Perfil_Valora_Libros .FirstOrDefaultAsync(c => c.LibroId == ppl.LibroId && c.PerfilId == ppl.PerfilId); pvl.Comentario = null; return(View(pvl)); }
public async Task <IActionResult> Create([Bind("LibroId,PerfilId,Puntaje,Comentario,Spoiler,Visible")] Perfil_Valora_Libro perfil_Valora_Libro) { if (ModelState.IsValid) { _context.Add(perfil_Valora_Libro); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["LibroId"] = new SelectList(_context.Libros, "Id", "Descripcion", perfil_Valora_Libro.LibroId); ViewData["PerfilId"] = new SelectList(_context.Perfiles, "Id", "Nombre", perfil_Valora_Libro.PerfilId); return(View(perfil_Valora_Libro)); }
public async Task <IActionResult> DeleteConfirmed(int id, int perfilId) { Perfil_Valora_Libro p = await _context.Perfil_Valora_Libros .FirstOrDefaultAsync(c => c.LibroId == id && c.PerfilId == perfilId); List <Reportes> reportes = _context.Reportes.Where(r => r.LibroId == id && r.PerfilId == perfilId).ToList(); _context.Reportes.RemoveRange(reportes); p.Comentario = null; _context.Perfil_Valora_Libros.Update(p); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
// GET: Reportes/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var reportes = await _context.Reportes .FirstOrDefaultAsync(m => m.Id == id); if (reportes == null) { return(NotFound()); } Perfil_Valora_Libro p = _context.Perfil_Valora_Libros .FirstOrDefault(c => c.LibroId == reportes.LibroId && c.PerfilId == reportes.PerfilId); if (p == null) { return(NotFound()); } ViewBag.Libro = _context.Libros .Include(l => l.Autor) .Include(l => l.Editorial) .Include(l => l.Genero) .FirstOrDefault(c => c.Id == reportes.LibroId); //Agrego el libro para mostrar info del mismo en el details de reporte var perfil = _context.Perfiles .Include(u => u.Usuario) .FirstOrDefault(l => l.Id == p.PerfilId); if (perfil.Usuario == null) { ViewBag.NombreUsuario = "El usuario ya no existe."; } else { ViewBag.NombreUsuario = perfil.Usuario.UserName; } ViewBag.IdReporte = id; ViewBag.Motivo = reportes.Motivo; return(View(p)); }
public async Task <IActionResult> DeleteComentario(int libroId, int perfilId) { Perfil_Valora_Libro p = await _context.Perfil_Valora_Libros .FirstOrDefaultAsync(c => c.LibroId == libroId && c.PerfilId == perfilId); //Borro tambien los reportes porque sino quedan y no puedo acceder mas List <Reportes> reportes = _context.Reportes .Where(r => r.LibroId == libroId && r.PerfilId == perfilId) .ToList(); _context.Reportes.RemoveRange(reportes); p.Comentario = null; _context.Perfil_Valora_Libros.Update(p); await _context.SaveChangesAsync(); return(RedirectToAction("VerComentarios", new { id = libroId })); }
public async Task <IActionResult> Calificar(int libroId, int value) { var bisectriz = _context.Perfiles.Include(c => c.Usuario) .FirstOrDefault(l => l.Id == PerfilActual); Perfil_Puntua_Libro ppl = new Perfil_Puntua_Libro() { PerfilId = PerfilActual, LibroId = libroId, }; if (this.yaEstaCalificado(libroId)) //Si el libro ya estaba calificado lo actualiza por la nueva puntuacion { var puntuacion = _context.Perfil_Valora_Libros.FirstOrDefault(p => p.LibroId == libroId && p.PerfilId == PerfilActual); puntuacion.Puntaje = value; _context.Perfil_Valora_Libros.Update(puntuacion); } else { Perfil_Valora_Libro puntuacion = new Perfil_Valora_Libro { PerfilId = PerfilActual, LibroId = libroId, Puntaje = value, Spoiler = false, Visible = true }; _context.Perfil_Valora_Libros.Add(puntuacion); } await _context.SaveChangesAsync(); if (!bisectriz.Usuario.Habilitado) { return(RedirectToAction("Details", new { id = ppl.LibroId })); } return(RedirectToAction("Edit", "Perfil_Valora_Libro", ppl)); }