public async Task <ActionResult> Put(int id, [FromForm] CreacionPeliculasDTO creacionPeliculasDTO) { var peliculaDB = await Context.Peliculas.Include(x => x.peliculasActores) .Include(x => x.peliculaGeneros).FirstOrDefaultAsync(x => x.Id == id); if (peliculaDB == null) { return(NotFound()); } peliculaDB = Mapper.Map(creacionPeliculasDTO, peliculaDB); if (creacionPeliculasDTO.Poster != null) { using (var memoryStream = new MemoryStream()) { await creacionPeliculasDTO.Poster.CopyToAsync(memoryStream); var contenido = memoryStream.ToArray(); var extension = Path.GetExtension(creacionPeliculasDTO.Poster.FileName); peliculaDB.Poster = await AlmacenadorArchivos.GuardarAchivo(contenido, extension, contenedor, creacionPeliculasDTO.Poster.ContentType); } } AsignarOrdenActores(peliculaDB); Context.Entry(peliculaDB).State = EntityState.Modified; await Context.SaveChangesAsync(); return(new CreatedAtRouteResult("ObtenerPelicula", new { id = peliculaDB.Id }, creacionPeliculasDTO)); }
private List <PeliculaGeneros> MaPeliculasGeneros(CreacionPeliculasDTO creacionPeliculasDTO, Pelicula pelicula) { var resultado = new List <PeliculaGeneros>(); if (creacionPeliculasDTO.GenerosIds == null) { return(resultado); } foreach (var id in creacionPeliculasDTO.GenerosIds) { resultado.Add(new PeliculaGeneros() { GeneroId = id }); } return(resultado); }
private List <PeliculasActores> MapPeliculasActores(CreacionPeliculasDTO creacionPeliculasDTO, Pelicula pelicula) { var resultado = new List <PeliculasActores>(); if (creacionPeliculasDTO.actores == null) { return(resultado); } ; foreach (var actores in creacionPeliculasDTO.actores) { resultado.Add(new PeliculasActores() { ActorId = actores.ActorId, personaje = actores.Personaje }); } return(resultado); }
public async Task <ActionResult> Post([FromForm] CreacionPeliculasDTO creacionPelicula) { var pelicula = Mapper.Map <Pelicula>(creacionPelicula); if (creacionPelicula.Poster != null) { using (var memoryStream = new MemoryStream()) { await creacionPelicula.Poster.CopyToAsync(memoryStream); var contenido = memoryStream.ToArray(); var extension = Path.GetExtension(creacionPelicula.Poster.FileName); pelicula.Poster = await AlmacenadorArchivos.GuardarAchivo(contenido, extension, contenedor, creacionPelicula.Poster.ContentType); } } AsignarOrdenActores(pelicula); Context.Add(pelicula); await Context.SaveChangesAsync(); return(new CreatedAtRouteResult("ObtenerPelicula", new { id = pelicula.Id }, creacionPelicula)); }