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));
        }