private static string getOutFolder(GitHubEntry localItem, string baseFoler) { var pathDir = Path.GetDirectoryName(localItem.Path); var outFolder = Path.Combine(baseFoler, pathDir); if (Directory.Exists(outFolder)) { return outFolder; } var info = Directory.CreateDirectory(outFolder); return info.FullName; }
private Action getDownloadTask(GitHubEntry localItem, string outFolder) { Action action = () => { try { Downloader.DownloadFile( url: localItem.DownloadUrl, outFolder: outFolder, expectedFileSize: localItem.Size, cancellationToken: _cancellationToken.Token, onPercentChange: downloadPercent => { localItem.DownloadPercent = downloadPercent; if (downloadPercent == 100) { DispatcherHelper.DispatchAction( () => _guiModelData.GitHubEntries.Remove(localItem)); } }); } catch (Exception ex) { AppMessenger.Messenger.NotifyColleagues("ShowLog", string.Format("{0} -> {1}", localItem.DownloadUrl, ex.Message)); } }; return action; }