public async Task <ActionResult> Put(int id, [FromBody] LibroCreacionDTO libroCreacionDTO) { Libro libroBD = await context.Libros.FirstOrDefaultAsync(x => x.Id == id && x.Activo); if (libroBD == null) { return(NotFound()); } libroBD = mapper.Map <Libro>(libroCreacionDTO); if (libroCreacionDTO.RutaLibro != null) { using (MemoryStream memoryStream = new MemoryStream()) { await libroCreacionDTO.RutaLibro.CopyToAsync(memoryStream); byte[] contenido = memoryStream.ToArray(); string extencion = Path.GetExtension(libroCreacionDTO.RutaLibro.FileName); libroBD.Ruta = await almacenador.EditarArchivo(contenido, extencion, contenedor, libroBD.Ruta, libroCreacionDTO.RutaLibro.ContentType); } } await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Post(LibroCreacionDTO libroCreacionDTO) { if (libroCreacionDTO.AutoresIds == null) { return(BadRequest("No se puede crear un libro sin autores")); } var autoresIds = await context.Autores .Where(autorBD => libroCreacionDTO.AutoresIds.Contains(autorBD.Id)).Select(x => x.Id).ToListAsync(); if (libroCreacionDTO.AutoresIds.Count != autoresIds.Count) { return(BadRequest("No existe uno de los autores enviados")); } var libro = mapper.Map <Libro>(libroCreacionDTO); AsignarOrdenAutores(libro); context.Add(libro); await context.SaveChangesAsync(); var libroDTO = mapper.Map <LibroDTO>(libro); return(CreatedAtRoute("obtenerLibro", new { id = libro.Id }, libroDTO)); }
public async Task <ActionResult> Put(int id, LibroCreacionDTO libroCreacionDTO) { var libroDB = await context.Libros .Include(x => x.AutoresLibros) .FirstOrDefaultAsync(x => x.Id == id); if (libroDB == null) { return(NotFound()); } libroDB = mapper.Map(libroCreacionDTO, libroDB); AsignarOrdenAutores(libroDB); await context.SaveChangesAsync(); return(NoContent()); }
private List <AutorLibro> MapAutoresLibros(LibroCreacionDTO libroCreacionDTO, Libro libro) { var resultado = new List <AutorLibro>(); if (libroCreacionDTO.AutoresIds == null) { return(resultado); } foreach (var autorId in libroCreacionDTO.AutoresIds) { resultado.Add(new AutorLibro() { AutorId = autorId }); } return(resultado); }
public async Task <ActionResult> Post([FromForm] LibroCreacionDTO libroCreacionDTO) { Libro libro = mapper.Map <Libro>(libroCreacionDTO); if (libroCreacionDTO.RutaLibro != null) { using (MemoryStream memoryStream = new MemoryStream()) { await libroCreacionDTO.RutaLibro.CopyToAsync(memoryStream); byte[] contenido = memoryStream.ToArray(); string extencion = Path.GetExtension(libroCreacionDTO.RutaLibro.FileName); libro.Ruta = await almacenador.GuardarArchivo(contenido, extencion, contenedor, libroCreacionDTO.RutaLibro.ContentType); } } context.Add(libro); await context.SaveChangesAsync(); LibroDTO libroDTO = mapper.Map <LibroDTO>(libro); return(new CreatedAtRouteResult("obtenerLibro", new { id = libroDTO.Id }, libroDTO)); }