public async Task <ActionResult> Put(int PeliculaId, int reviewId, [FromBody] ReviewCrearDTO reviewCrearDTO) { var usuarioId = HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value; var reviewDB = await context.Reviews.FirstOrDefaultAsync(x => x.Id == reviewId); if (reviewDB == null) { return(NotFound()); } if (reviewDB.UsuarioId != usuarioId) { return(Forbid()); } reviewDB = mapper.Map(reviewCrearDTO, reviewDB); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Post(int PeliculaId, [FromBody] ReviewCrearDTO reviewCrearDTO) { var usuarioId = HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value; var existeReview = await context.Reviews.AnyAsync(x => x.PeliculaId == PeliculaId && x.UsuarioId == usuarioId); if (existeReview) { return(BadRequest("El usuario ya a escrito un Review de la pelicula")); } var review = mapper.Map <Review>(reviewCrearDTO); review.PeliculaId = PeliculaId; review.UsuarioId = usuarioId; context.Add(review); await context.SaveChangesAsync(); return(NoContent()); }