예제 #1
0
        public async Task <ActionResult> Post([FromForm] PeliculaCreacionDto peliculaCreacionDto)
        {
            var pelicula = _mapper.Map <Pelicula>(peliculaCreacionDto);

            if (peliculaCreacionDto.Poster != null)
            {
                using (var memoryStream = new MemoryStream())
                {
                    await peliculaCreacionDto.Poster.CopyToAsync(memoryStream);

                    var contenido = memoryStream.ToArray();
                    var extesion  = Path.GetExtension(peliculaCreacionDto.Poster.FileName);
                    pelicula.Poster = await _almacenadorArchivo
                                      .GuardarArchivo(contenido, extesion, contenedor,
                                                      peliculaCreacionDto.Poster.ContentType);
                }
            }
            asignarOrdenActores(pelicula);
            _context.Add(pelicula);
            await _context.SaveChangesAsync();

            var pelilaDto = _mapper.Map <PeliculaDto>(pelicula);

            return(new CreatedAtRouteResult("obtenerpelicula",
                                            new { id = pelicula.Id }, pelilaDto));
        }
예제 #2
0
        public async Task <ActionResult> Post([FromForm] ActorCreacionDto actorCreacionDto)
        {
            var entidad = _mapper.Map <Actor>(actorCreacionDto);

            if (actorCreacionDto.Foto != null)
            {
                using (var memoryStrema = new MemoryStream())
                {
                    await actorCreacionDto.Foto.CopyToAsync(memoryStrema);

                    var contenido = memoryStrema.ToArray();
                    var extesion  = Path.GetExtension(actorCreacionDto.Foto.FileName);
                    entidad.Foto = await _almacenadorArchivo.GuardarArchivo(contenido, extesion, contenedor,
                                                                            actorCreacionDto.Foto.ContentType);
                }
            }
            _context.Add(entidad);
            await _context.SaveChangesAsync();

            var dto = _mapper.Map <ActorDto>(entidad);

            return(new CreatedAtRouteResult("obtenerActor", new { id = entidad.Id }, dto));
        }