コード例 #1
0
 private void InitializeData(GameCopy game)
 {
     GameDevelopers = new ObservableCollection <Developer>(game.Developers.Distinct());
     GameLinks      = new ObservableCollection <string>(game.Links.Distinct());
     GamePlatforms  = new ObservableCollection <Platform>(game.Platforms.Distinct());
     GameLanguages  =
         new ObservableCollection <CultureInfo>(
             game.TwoLetterIsoLanguageName.Distinct().Select(lang => CultureInfo.GetCultureInfo(lang)));
     GameItems       = new ObservableCollection <ItemViewModel>(game.Items.Select(ItemViewModel.FromItem));
     GameScreenshots = new ObservableCollection <ScreenshotViewModel>(
         game.Screenshots
         .Select(HomeDirectoryHelpers.ToAbsolutePath)
         .Select(ScreenshotViewModel.FromPath)
         );
     GameCoverImage = game.CoverImage == null
         ? null
         : ScreenshotViewModel.FromPath(HomeDirectoryHelpers.ToAbsolutePath(game.CoverImage));
 }
コード例 #2
0
        private static async Task <string?> DownloadCoverArt(string destinationDirectory,
                                                             ScreenshotViewModel?gameCoverImage)
        {
            if (gameCoverImage == null)
            {
                return(null);
            }

            var url = gameCoverImage.Url;

            if (new Uri(url).IsFile)
            {
                return(url);
            }

            var path = await new ImageDownloader(Application.Current.ScraperWebClient())
                       .DownloadCoverArt(destinationDirectory, url);

            return(HomeDirectoryHelpers.ToRelativePath(path));
        }