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 })); }