public async Task <GetWebsiteLinkForPhotoDto> Handle(GetWebsiteLinkForPhotoQuery request, CancellationToken cancellationToken)
        {
            var gallery = await _photoRepository.GetGalleryForBirdAsync(request.BirdId, SortDirection.Latest);

            var links = gallery
                        .Select(_ => _pictureHostingService.GetAllImageLinks(_.PhotoInformation).WebsiteLink)
                        .ToList();

            return(new GetWebsiteLinkForPhotoDto(links));
        }
        public async Task <GetGalleryWithPhotoDto> Handle(GetGalleryWithPhotoQuery request, CancellationToken cancellationToken)
        {
            var photo = await _photoRepository.GetById(request.PhotoId);

            var links    = _pictureHostingService.GetAllImageLinks(photo.PhotoInformation);
            var photoDto = new PhotoDto {
                Original    = links.OriginalLink,
                Src         = links.ThumbnailLink,
                Caption     = photo.Caption,
                Id          = photo.Id,
                DateTaken   = photo.DateTaken,
                BirdIds     = photo.Birds.Select(x => x.Id),
                Height      = 1,
                Width       = photo.Ratio,
                Text        = photo.Description,
                HostingLink = links.WebsiteLink,
            };

            return(new GetGalleryWithPhotoDto(photoDto));
        }
        public async Task <GetGalleryQueryResponse> Handle(GetGalleryQuery request, CancellationToken cancellationToken)
        {
            var gallery = await _photoRepository.GetAllAsync(request.Count, request.SortDirection);

            return(new GetGalleryQueryResponse {
                Photos = gallery.Select(_ => {
                    var links = _pictureHostingService.GetAllImageLinks(_.PhotoInformation);
                    return new PhotoDto {
                        Original = links.OriginalLink,
                        Src = links.ThumbnailLink,
                        Caption = _.Caption,
                        Id = _.Id,
                        DateTaken = _.DateTaken,
                        BirdIds = _.Birds.Select(x => x.Id),
                        Height = 1,
                        Width = _.Ratio,
                        Text = _.Description,
                        HostingLink = links.WebsiteLink,
                    };
                }).ToList()
            });
        }