public static void DownloadTodayBingImages() { if (!NetworkStatus.IsConnectedToInternet()) { "The internet connection was not found.".LogText(); return; } var dir = DirUtils.GetImagesDir(); Enumerable.Range(start: 0, count: 9).AsParallel().ForAll(imageIndex => { try { var source = $"http://www.bing.com/HPImageArchive.aspx?format=xml&idx={imageIndex}&n=1&mkt=en-US"; downloadImage(source, dir, xml => { var bingImage = xml.FromXmlContent <images>(); return(new ImageInfo { Url = $"http://www.bing.com{bingImage.image.url.Replace("_1366x768.jpg", "_1920x1080.jpg")}", Copyright = bingImage.image.copyright }); }); } catch (Exception ex) { ex.LogException(); } }); }
public void SetBranchesList(bool throwExceptions = false) { var taskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); Task.Factory.StartNew(() => { if (!NetworkStatus.IsConnectedToInternet()) { Trace.WriteLine("The internet connection was not found.", "Logs"); return(null); } var entries = getGitHubBranches(); if (!entries.Any()) { Trace.WriteLine("Failed to list branches.", "Logs"); return(null); } return(entries); }).ContinueWith(task => { if (task.IsFaulted) { if (task.Exception != null) { if (!throwExceptions) { task.Exception.Flatten().Handle(ex => { Trace.WriteLine(ex.Message, "Error"); return(false); }); } else { throw task.Exception; } } return; } var entries = task.Result; _GuiState.Branches.Clear(); foreach (var branches in entries?.Select(x => x.Name)) { _GuiState.Branches.Add(branches); } }, taskScheduler); }
public void Start() { Task.Factory.StartNew(() => { if (!NetworkStatus.IsConnectedToInternet()) { AppMessenger.Messenger.NotifyColleagues("ShowLog", "The internet connection was not found."); return; } var entries = getGitHubEntries(_guiModelData.RepositorySubDir, _guiModelData.SelectedBranch); if (!entries.Any()) { AppMessenger.Messenger.NotifyColleagues("ShowLog", "The folder is empty."); return; } var baseFoler = getBaseFoler(); processListOfEntries(entries, baseFoler); }).ContinueWith(obj => Finished(getApiRootUrl())); }
public void SetBranchesList() { var taskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); Task.Factory.StartNew(() => { if (!NetworkStatus.IsConnectedToInternet()) { AppMessenger.Messenger.NotifyColleagues("ShowLog", "The internet connection was not found."); return(null); } var entries = getGitHubBranches(); if (!entries.Any()) { AppMessenger.Messenger.NotifyColleagues("ShowLog", "Failed to list branches."); return(null); } return(entries); }).ContinueWith(task => { if (task.IsFaulted) { if (task.Exception != null) { task.Exception.Flatten().Handle(ex => { AppMessenger.Messenger.NotifyColleagues("ShowLog", ex.Message); return(false); }); } return; } var entries = task.Result; _guiModelData.Branches = entries?.Select(x => x.Name).ToList(); }, taskScheduler); }
public void Start() { Task.Factory.StartNew(() => { DispatcherHelper.DispatchAction( () => _GuiState.GitHubEntries.Clear()); if (!NetworkStatus.IsConnectedToInternet()) { Trace.WriteLine("Internet connection is not avalaible.", "Error"); return; } var entries = getGitHubEntries(_GuiState.RepositorySubDir, _GuiState.SelectedBranch); if (!entries.Any()) { Trace.WriteLine("The folder is empty.", "Error"); return; } var baseFolder = getBaseFolder(); processListOfEntries(entries, baseFolder); }).ContinueWith(obj => Finished(getApiRootUrl())); }
public void GetReleaseInfo(string url) { var taskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); Task.Factory.StartNew(() => { if (!NetworkStatus.IsConnectedToInternet()) { return(null); } using (var webClient = new WebClient()) { webClient.Headers.Add("user-agent", "DNTProfiler"); var jsonData = webClient.DownloadString(url); var gitHubProjectReleases = JsonHelper.DeserializeObject <GitHubProjectRelease[]>(jsonData); var releases = new List <ReleaseInfo>(); foreach (var release in gitHubProjectReleases) { foreach (var asset in release.Assets) { releases.Add(new ReleaseInfo { ReleaseHtmlUrl = release.HtmlUrl, ReleaseTagName = release.TagName, AssetCreatedAt = asset.CreatedAt, AssetName = asset.Name, AssetSize = asset.Size, AssetDownloadCount = asset.DownloadCount }); } } return(releases.OrderByDescending(releaseInfo => releaseInfo.AssetCreatedAt).ToList()); } }).ContinueWith(task => { if (task.IsFaulted) { if (task.Exception != null) { task.Exception.Flatten().Handle(ex => { new ExceptionLogger().LogExceptionToFile(ex, AppMessenger.LogFile); AppMessenger.Messenger.NotifyColleagues("ShowException", ex); return(true); }); } return; } var releaseInfo = task.Result; if (releaseInfo == null || !releaseInfo.Any()) { return; } _mainGuiModel.ReleaseInfo = releaseInfo; _mainGuiModel.SelectedRelease = releaseInfo.FirstOrDefault(); _context.NotifyPluginsHost(NotificationType.Reset, releaseInfo.Count); }, taskScheduler); }