示例#1
0
        public async Task <IActionResult> Get(string albumId, int pageSize, int pageIndex)
        {
            var album = await _albumRepository.GetAlbumAsync(albumId);

            if (album == null)
            {
                _logger.LogWarning($"Album with albumId={albumId} was not found.");
                return(NotFound());
            }

            var photos = await _photoRepository.GetPhotosByAlbumIdAsync(albumId, pageSize, pageIndex);

            foreach (var photo in photos)
            {
                photo.Albums = await _albumRepository.GetAlbumsAsync(photo.PhotoId);
            }

            var totalPhotos = await _photoRepository.GetTotalPhotosByAlbumIdAsync(albumId);

            _logger.LogInformation($"Album with albumId={albumId} was successfully received with photos, pageSize={pageSize}, pageIndex={pageIndex}.");

            return(Ok(new { album, photos, totalPhotos }));
        }