private static void RefreshCache()
        {
            if (cacheManager == null)
            {
                throw new InvalidOperationException("Cache has not yet been initialized");
            }

            // Clear the list.
            cacheManager.ReplaceAll(System.Linq.Enumerable.Empty <IExtensionDataItemView>());

            // TODO: correct SKU information.
            // TODO: incremental.
            marketPlaceService.GetMarketplaceDataItems(
                VsEditionUtil.GetCurrentVsVersion(),
                VsEditionUtil.GetSkusList(),
                DateTime.MinValue,
                (items) =>
            {
                cacheManager.AddRange(items);
                return(true);
            });

            try
            {
                Directory.CreateDirectory(Utilities.ExtensionAppDataPath);
                cacheManager.TrySaveCacheFile();
            }
            catch
            {
                Debug.Fail("Failed to create local app data directory");
            }
        }
 public DownloadUtilPageViewModel()
 {
     AllVisualStudioEditions = VsEditionUtil.GetAllVisualStudioEditions();
     SelectedVsEdition       = AllVisualStudioEditions.FirstOrDefault();
     DownloadWorkloadFromWeb(SelectedVsEdition);
     CheckIfPreviouslySelectedFolderStillExist();
 }
 public DownloadUtilPageViewModel()
 {
     AllVisualStudioEditions = VsEditionUtil.GetAllVisualStudioEditions();
 }
 public DownloadUtilPageViewModel()
 {
     AllVisualStudioEditions = VsEditionUtil.GetAllVisualStudioEditions();
     SelectedVsEdition       = AllVisualStudioEditions.FirstOrDefault();
     DownloadWorkloadFromWeb(SelectedVsEdition);
 }