예제 #1
0
            public async Task <Album> Handle(AddImageTagCommand cmd, CancellationToken cancellationToken)
            {
                var album = await _repo.GetAlbumById(cmd.AlbumId);

                album.AddImageTag(cmd.Imageid, cmd.Tag);

                return(await _repo.UpdateAlbum(album));
            }
예제 #2
0
            public async Task <Album> Handle(UpdateImageCommand cmd, CancellationToken cancellationToken)
            {
                var album = await _repo.GetAlbumById(cmd.AlbumId);

                album.UpdateImageName(cmd.ImageId, cmd.ImageName);
                album.UpdateImageDescription(cmd.ImageId, cmd.ImageDescription);

                return(await _repo.UpdateAlbum(album));
            }
예제 #3
0
            public async Task <Album> Handle(AddImageCommand command, CancellationToken cancellationToken)
            {
                // add image info to database
                var album = await _mediator.Send(new GetAlbumByIdQuery(command.AlbumId));

                var imageId = album.AddImage(command.ImageName, string.Empty, new List <string>(), Path.GetExtension(command.File.FileName));

                var updatedAlbum = await _repo.UpdateAlbum(album);

                // upload image to directory
                _ = _mediator.Send(new AddImageToFolderCommand(command.AlbumId, updatedAlbum.Images.OrderByDescending(x => x.Created).FirstOrDefault().Id, command.File));

                return(updatedAlbum);
            }