Example #1
0
        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));
        }
Example #6
0
        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());
        }
Example #7
0
        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());
        }
Example #8
0
        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());
        }
Example #9
0
        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);
        }
Example #11
0
        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);
        }
Example #12
0
        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));
        }
Example #13
0
        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));
        }