コード例 #1
0
        public async Task <ActionResult> PutAsync(int id, [FromForm] ActorCreateDto actorUpdateDto)
        {
            var actorUpdateDb = await context.Actores.FindAsync(id);

            if (actorUpdateDb == null)
            {
                return(NotFound());
            }

            mapper.Map(actorUpdateDto, actorUpdateDb);

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

                    var contenido = memoryStream.ToArray();
                    var extension = Path.GetExtension(actorUpdateDto.Foto.FileName);
                    actorUpdateDb.Foto = await almacenadorArchivos.EditarArchivo(contenido, extension, contenedor, actorUpdateDb.Foto, actorUpdateDto.Foto.ContentType);
                }
            }

            await context.SaveChangesAsync();

            return(NoContent());
        }
コード例 #2
0
        public async Task <ActionResult> Put(int id, [FromBody] ActorCreateDto actorDto)
        {
            var actor = await _context.Actors.FirstOrDefaultAsync(x => x.Id == id);

            if (actor == null)
            {
                return(NotFound());
            }

            actor = _mapper.Map(actorDto, actor);
            _context.Entry(actor).State = EntityState.Modified;

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

                    var content   = memoryStream.ToArray();
                    var extension = Path.GetExtension(actorDto.Photo.FileName);
                    actor.Photo = await _fileStore.EditFile(content, extension, container,
                                                            actor.Photo, actorDto.Photo.ContentType);
                }
            }
            await _context.SaveChangesAsync();

            return(NoContent());
        }
コード例 #3
0
        public async Task <ActionResult> PostAsync([FromForm] ActorCreateDto actorCreateDto)
        {
            var actorCreateDb = mapper.Map <Actor>(actorCreateDto);

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

                    var contenido = memoryStream.ToArray();
                    var extension = Path.GetExtension(actorCreateDto.Foto.FileName);
                    actorCreateDb.Foto = await almacenadorArchivos.GuardarArchivo(contenido, extension, contenedor, actorCreateDto.Foto.ContentType);
                }
            }

            context.Actores.Add(actorCreateDb);

            await context.SaveChangesAsync();

            var actorDto = mapper.Map <ActorDto>(actorCreateDb);

            return(new CreatedAtRouteResult("ObtenerActor", new { id = actorDto.Id }, actorDto));
        }
コード例 #4
0
        public async Task <ActionResult> Post([FromForm] ActorCreateDto actorCreateDto)
        {
            var actor = _mapper.Map <Actor>(actorCreateDto);

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

                    var content   = memoryStream.ToArray();
                    var extension = Path.GetExtension(actorCreateDto.Photo.FileName);
                    actor.Photo = await _fileStore.SaveFile(content, extension, container,
                                                            actorCreateDto.Photo.ContentType);
                }
            }

            _context.Add(actor);
            await _context.SaveChangesAsync();

            var actorDto = _mapper.Map <ActorDTO>(actor);

            return(new CreatedAtRouteResult("getActor", new { id = actor.Id }, actorDto));
        }