public async Task <ActionResult> Post(int libroId, ComentarioCreacionDTO comentarioCreacionDTO) { var emailClaim = HttpContext.User.Claims.Where(claim => claim.Type == "email").FirstOrDefault(); var email = emailClaim.Value; var usuario = await userManager.FindByEmailAsync(email); var usuarioId = usuario.Id; var existeLibro = await context.Libros.AnyAsync(libroDB => libroDB.Id == libroId); if (!existeLibro) { return(NotFound()); } var comentario = mapper.Map <Comentario>(comentarioCreacionDTO); comentario.LibroId = libroId; comentario.UsuarioId = usuarioId; context.Add(comentario); await context.SaveChangesAsync(); var comentarioDTO = mapper.Map <ComentarioDTO>(comentario); return(CreatedAtRoute("ObtenerComentario", new { id = comentario.Id, libroId = libroId }, comentarioDTO)); }
public async Task <ActionResult> Put(int libroId, int id, ComentarioCreacionDTO comentarioCreacionDTO) { var existeLibro = await context.Libros.AnyAsync(libroDB => libroDB.Id == libroId); if (!existeLibro) { return(NotFound()); } var existeComentario = await context.Comentarios.AnyAsync(comentarioDB => comentarioDB.Id == id); if (!existeComentario) { return(NotFound()); } var comentario = mapper.Map <Comentario>(comentarioCreacionDTO); comentario.Id = id; comentario.LibroId = libroId; context.Update(comentario); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Post(int libroId, ComentarioCreacionDTO comentarioCreacionDTO) { var existeLibro = await context.Libros.AnyAsync(libroDB => libroDB.Id == libroId); if (!existeLibro) { return(NotFound()); } var comentario = mapper.Map <Comentario>(comentarioCreacionDTO); comentario.LibroId = libroId; context.Add(comentario); await context.SaveChangesAsync(); var comentarioDTO = mapper.Map <ComentarioDTO>(comentario); return(CreatedAtRoute("ObtenerComentario", new { id = comentario.Id, libroId = libroId }, comentarioDTO)); }