public async Task CreateActorNoPhoto() { var nameDb = Guid.NewGuid().ToString(); var context = BuildContext(nameDb); var mapper = ConfigurationAutoMapper(); var actor = new ActorCreationDTO() { Name = "Felipe", Birthday = DateTime.Now }; var mock = new Mock <IFileManager>(); mock.Setup(x => x.SaveFile(null, null, null, null)) .Returns(Task.FromResult("url")); var controller = new ActorsController(context, mapper, mock.Object); var response = await controller.Post(actor); var result = response as CreatedAtRouteResult; Assert.AreEqual(201, result.StatusCode); var context2 = BuildContext(nameDb); var listed = await context2.Actors.ToListAsync(); Assert.AreEqual(1, listed.Count); Assert.IsNull(listed[0].Photo); Assert.AreEqual(0, mock.Invocations.Count); }
public async Task <ActionResult> EditActor([FromRoute] int id, [FromForm] ActorCreationDTO actorCreationDTO) { await repository.EditDTO(id, actorCreationDTO); return(NoContent()); }
public async Task <ActionResult> PostActor([FromForm] ActorCreationDTO actorCreationDTO) { await repository.AddDTO(actorCreationDTO); return(NoContent()); }
public async Task <ActionResult> Put(int id, [FromForm] ActorCreationDTO actorCreationDTO) { var actorDB = await _context.Actors.FirstOrDefaultAsync(x => x.Id == id); if (actorDB == null) { return(NotFound()); } actorDB = _mapper.Map(actorCreationDTO, actorDB); if (actorCreationDTO.Photo != null) { using (var memoryStream = new MemoryStream()) { await actorCreationDTO.Photo.CopyToAsync(memoryStream); var content = memoryStream.ToArray(); var extension = Path.GetExtension(actorCreationDTO.Photo.FileName); actorDB.Photo = await _filesStorage.EditFile(content, extension, container, actorDB.Photo, actorCreationDTO.Photo.ContentType); } } await _context.SaveChangesAsync(); return(NoContent()); }
public virtual async Task <Actor> AddDTO(ActorCreationDTO actorCreationDTO) { var actor = _mapper.Map <Actor>(actorCreationDTO); if (actorCreationDTO.Picture != null) { actor.Picture = await fileStorageService.SaveFile(containerName, actorCreationDTO.Picture); } return(await Add(actor)); }
public async Task <ActionResult> Post([FromForm] ActorCreationDTO actorCreationDTO) { var actor = _mapper.Map <Actor>(actorCreationDTO); if (actorCreationDTO.Picture != null) { actor.Picture = await _fileStorageService.SaveFile(containerName, actorCreationDTO.Picture); } _ctx.Add(actor); await _ctx.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Post([FromForm] ActorCreationDTO actorCreationDTO) { Actor actor = this.mapper.Map <Actor>(actorCreationDTO); if (actorCreationDTO.Picture != null) { actor.Picture = await this.fileStorageService.SaveFile(STORAGE_CONTAINER_NAME, actorCreationDTO.Picture); } this.dbContext.Add(actor); await this.dbContext.SaveChangesAsync(); return(this.NoContent()); }
public async Task <ActionResult> Put(int id, [FromForm] ActorCreationDTO actorCreationDTO) { var actor = await _ctx.Actors.FirstOrDefaultAsync(x => x.Id == id); if (actor == null) { return(NotFound()); } actor = _mapper.Map(actorCreationDTO, actor); if (actorCreationDTO.Picture != null) { actor.Picture = await _fileStorageService.EditFile(containerName, actorCreationDTO.Picture, actor.Picture); } await _ctx.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Put(int id, [FromForm] ActorCreationDTO actorCreationDTO) { Actor actor = await this.dbContext.Actors.FirstOrDefaultAsync(x => x.Id == id); if (actor == null) { return(this.NotFound()); } actor = this.mapper.Map(actorCreationDTO, actor); if (actorCreationDTO.Picture != null) { actor.Picture = await this.fileStorageService.EditFile(STORAGE_CONTAINER_NAME, actorCreationDTO.Picture, actor.Picture); } await this.dbContext.SaveChangesAsync(); return(this.NoContent()); }
public async Task <Actor> EditDTO(int id, ActorCreationDTO actorCreationDTO) { var editedActor = await GetById(id); var picture = editedActor.Picture; editedActor = _mapper.Map(actorCreationDTO, editedActor); if (editedActor.Picture != null) { editedActor.Picture = await fileStorageService.EditFile(containerName, actorCreationDTO.Picture, editedActor.Picture); } else { editedActor.Picture = picture; } await applicationDb.SaveChangesAsync(); return(editedActor); }
public async Task CreateActorWithPhoto() { var nameDb = Guid.NewGuid().ToString(); var context = BuildContext(nameDb); var mapper = ConfigurationAutoMapper(); var content = Encoding.UTF8.GetBytes("Test image"); var file = new FormFile(new MemoryStream(content), 0, content.Length, "Data", "image.jpg"); file.Headers = new HeaderDictionary(); file.ContentType = "image/jpg"; var actor = new ActorCreationDTO() { Name = "new actor", Birthday = DateTime.Now, Photo = file }; var mockFileManager = new Mock <IFileManager>(); mockFileManager.Setup(x => x.SaveFile(content, ".jpg", "actors", file.ContentType)) .Returns(Task.FromResult("url")); var controller = new ActorsController(context, mapper, mockFileManager.Object); var response = await controller.Post(actor); var result = response as CreatedAtRouteResult; Assert.AreEqual(201, result.StatusCode); var context2 = BuildContext(nameDb); var listed = await context2.Actors.ToListAsync(); Assert.AreEqual(1, listed.Count); Assert.AreEqual("url", listed[0].Photo); Assert.AreEqual(1, mockFileManager.Invocations.Count); }
public async Task <ActionResult> Post([FromForm] ActorCreationDTO actorCreationDTO) { var entity = _mapper.Map <Actor>(actorCreationDTO); if (actorCreationDTO.Photo != null) { using (var memoryStream = new MemoryStream()) { await actorCreationDTO.Photo.CopyToAsync(memoryStream); var content = memoryStream.ToArray(); var extension = Path.GetExtension(actorCreationDTO.Photo.FileName); entity.Photo = await _filesStorage.SaveFile(content, extension, container, actorCreationDTO.Photo.ContentType); } } _context.Add(entity); await _context.SaveChangesAsync(); var dto = _mapper.Map <ActorDTO>(entity); return(new CreatedAtRouteResult("getActor", new { id = entity.Id }, dto)); }
public async Task <ActionResult> Post([FromForm] ActorCreationDTO actorCreationDto) { //TryValidateModel(actorCreationDto); var actorDb = this.mapper.Map <Actor>(actorCreationDto); if (actorCreationDto.Photo != null) { using (var memoryStream = new MemoryStream()) { await actorCreationDto.Photo.CopyToAsync(memoryStream); var content = memoryStream.ToArray(); var extension = Path.GetExtension(actorCreationDto.Photo.FileName); actorDb.Photo = await this.fileManager.SaveFile(content, extension, this.container, actorCreationDto.Photo.ContentType); } } this.context.Actors.Add(actorDb); await this.context.SaveChangesAsync(); var actorDto = this.mapper.Map <ActorDTO>(actorDb); return(new CreatedAtRouteResult("GetActor", new { Id = actorDto.Id }, actorDto)); }