예제 #1
0
        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());
        }
예제 #2
0
        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());
        }