public async Task <bool> DownloadLanPlayExecutable(IRelease release) { if (release == null) { return(false); } IAsset executableAsset = release.Assets.FirstOrDefault(a => a.Name == executableName); if (executableAsset == null) { return(false); } try { using (HttpResponseMessage response = await httpClient.GetAsync(executableAsset.BrowserDownloadUrl)) { if (response.IsSuccessStatusCode) { await response.Content.ReadAsFileAsync(executableName, true); } } return(true); } catch (HttpRequestException) { return(false); } }
public void DeleteRelease(IRelease release) { using (var service = DataLocator.GetPersistenceService()) { service.Object.Delete(release.Version, release); } }
public ReleaseViewModelBig ToBigReleaseViewModel(IRelease release) { ReleaseViewModelBig toReturn = new ReleaseViewModelBig() { Id = release.Id, Title = release.Title, Followed = release.IsFollowed, FollowerCount = release.FollowerCount, ReleaseDate = release.ReleaseDate, ImgLocation = release.ImgLocation, Category = new CategoryViewModel { ImgLocation = release.Category.ImgLocation, Name = release.Category.Name }, Description = release.Description, Owner = new UserViewModel { ImgLocation = release.User.ImgLocation, Username = release.User.Username } }; return(toReturn); }
public Release Convert(IRelease releaseBO) { var convertedRelease = new Release { Version = releaseBO.Version, Description = releaseBO.Description, DueDate = releaseBO.DueDate }; foreach (var releaseunitBO in releaseBO.UnitList) { var convertedReleaseUnit = new ReleaseUnit { Name = releaseunitBO.Name }; foreach (var stakeholderBO in releaseunitBO.StakeholderList) { convertedReleaseUnit.StakeholderList.Add(Convert(stakeholderBO)); } foreach (var releaseElementBO in releaseunitBO.ReleaseElementList) { convertedReleaseUnit.ReleaseElementsList.Add(Convert(releaseElementBO)); } convertedRelease.UnitList.Add(convertedReleaseUnit); } return(convertedRelease); }
public async Task LatestRelease_MultipleReleases_ReturnsIRelease() { IReposApi api = GetReposApi(_repoWithReleases); IRelease latest = await api.LatestRelease().ConfigureAwait(false); Assert.IsNotNull(latest, $"{nameof(api.LatestRelease)}() should return an IRelease object for a repo that has at least one release."); }
public IActionResult Search(string searchQuery) { List <ReleaseViewModelSmall> vm = new List <ReleaseViewModelSmall>(); if (string.IsNullOrEmpty(searchQuery)) { return(RedirectToAction("index")); } foreach (int id in releaseLogic.SearchReleases(searchQuery)) { IRelease releaseModel = releaseLogic.GetReleaseById(id); ReleaseViewModelSmall tempRelease = new ReleaseViewModelSmall { Title = releaseModel.Title, Id = releaseModel.Id, FollowerCount = releaseModel.FollowerCount, ImgLocation = releaseModel.ImgLocation, ReleaseDate = releaseModel.ReleaseDate, Category = new CategoryViewModel { ImgLocation = releaseModel.Category.ImgLocation } }; vm.Add(tempRelease); } return(View(vm)); }
public Release(IRelease release) { Id = release.Id; ProjectId = release.ProjectId; Version = release.Version; Created = release.Created; }
/// <inheritdoc /> public async Task <IUpdateCheckResult> CheckAsync() { IReposApi api = _apiFactory.BuildReposApi(_username, _repoName); try { IRelease latest = await api.LatestRelease().ConfigureAwait(false); Version latestVersion = new Version(latest.tag_name.TrimStart('v')); return(latestVersion > ApplicationVersion ? latest.assets.Any() ? UpdateCheckResult.FromLatestRelease(latest) : new UpdateCheckResult(EventLevel.Error, Messages.NoUpdateTitle, Messages.NoUpdateNoFiles) : new UpdateCheckResult(EventLevel.Informational, Messages.NoUpdateTitle, Messages.NoUpdateAlreadyLatest)); } catch (WebException wex) { switch (wex.Status) { case WebExceptionStatus.NameResolutionFailure: case WebExceptionStatus.ConnectFailure: return(new UpdateCheckResult(EventLevel.Error, Messages.NoUpdateTitle, Messages.NoUpdateCannotConnect)); case WebExceptionStatus.ProtocolError: if ((wex.Response as HttpWebResponse)?.StatusCode == HttpStatusCode.NotFound) { return(new UpdateCheckResult(EventLevel.Error, Messages.NoUpdateTitle, Messages.NoUpdateNoReleases)); } goto default; // we only handled not found, so anything else is a random other error default: return(new UpdateCheckResult(EventLevel.Error, Messages.NoUpdateTitle, string.Format(Messages.NoUpdateError, wex.Message))); } } }
public static UIElement ToValue(this IRelease release, PropertyInfo property) { if (release == null) { throw new ArgumentNullException(nameof(release)); } if (property == null) { throw new ArgumentNullException(nameof(property)); } Object value = property.GetValue(release); if (value is IOwner) { return((value as IOwner).ToElement()); } if ((value as IEnumerable)?.GetType().GetGenericArguments().FirstOrDefault() == typeof(IAsset)) { return((value as IEnumerable <IAsset>).ToElement()); } return(value.ToValueElement(ExtensionHelper.ValuePadding)); }
private static IRelease GetSameVersionRelease() { IRelease release = A.Fake <IRelease>(); A.CallTo(() => release.tag_name).Returns("v" + GetThisVersion()); return(release); }
private static IReposApi GetReposApi(IRelease latestRelease) { IReposApi api = A.Fake <IReposApi>(); A.CallTo(() => api.LatestRelease()).Returns(Task.FromResult(latestRelease)); return(api); }
private void ResetCurrentWordPoints() { for (int i = 0; i < currentWordScore.Keys.Count(); i++) { IRelease key = currentWordScore.ElementAt(i).Key; currentWordScore[key] = 0; } }
protected void AutoRelease(IRelease e) { if (_autoReleaseResources == null) { _autoReleaseResources = new List <IRelease>(); } _autoReleaseResources.Add(e); }
/// <summary>Adds a barcode to the request.</summary> /// <param name="release">The release to which <paramref name="barcode"/> should be added.</param> /// <param name="barcode">The barcode to add. This must be a valid EAN.</param> /// <returns>This submission request.</returns> public BarcodeSubmission Add(IRelease release, string barcode) { if (release == null) { return(this); } return(this.Add(release.MbId, barcode)); }
public ReleaseController( IRelease api, IAppSettings appSettings, ILogger <ReleaseController> logger) : base() { this.api = api; this.appSettings = appSettings; this.logger = logger; }
/// <summary> /// Create a result from a release. Use when there is a newer release to upgrade to. /// </summary> /// <param name="latest">Latest release</param> /// <returns>Result with update available</returns> internal static UpdateCheckResult FromLatestRelease(IRelease latest) { string bitnessFilter = Environment.Is64BitProcess ? "_x64" : "_x86"; IAsset bestAsset = latest.assets.FirstOrDefault(asset => asset.name.Contains(bitnessFilter)) ?? latest.assets?[0]; return(new UpdateCheckResult(latest.name, latest.body, bestAsset.size, bestAsset.browser_download_url)); }
private void AddHeader(IRelease source, Grid parent, Thickness indent, Int32 row, Int32 col) { StackPanel panel = new StackPanel { Orientation = Orientation.Horizontal }; TextBlock header = new TextBlock() { Padding = indent, Cursor = Cursors.Hand, Foreground = Brushes.Blue, TextDecorations = TextDecorations.Underline, Text = source.Name, Tag = source, ToolTip = "Click to show all release details...", FontSize = this.repositoryViewer.FontSize * 1.5, FontWeight = FontWeights.SemiBold, }; header.MouseLeftButtonUp += this.OnHeaderMouseLeftButtonUp; panel.Children.Add(header); if (!String.IsNullOrWhiteSpace(source.TagName)) { TextBlock version = new TextBlock() { Padding = indent, Text = source.TagName, FontSize = this.repositoryViewer.FontSize * 1.5, FontWeight = FontWeights.SemiBold, }; panel.Children.Add(version); } DropDownButton button = new DropDownButton { Style = Application.Current.Resources["TripleDotsDropDownButton"] as Style, DropDown = this.GetContextMenu(source), Margin = new Thickness(10, 0, 0, 0), Padding = new Thickness(3), Width = 30, Height = 30 }; panel.Children.Add(button); parent.Children.Add(panel); Grid.SetRow(panel, row); Grid.SetColumn(panel, col); }
private static IRelease GetNewerVersionRelease(bool hasFiles) { IRelease release = A.Fake <IRelease>(); A.CallTo(() => release.tag_name).Returns("v" + GetNewerVersion()); if (hasFiles) { A.CallTo(() => release.assets).Returns(new IAsset[] { GetAsset() }); } return(release); }
public ProductDownload8InCheckbox([NotNull] IRelease release) { Assert.ArgumentNotNull(release, "release"); this.name = "Sitecore CMS"; this.version = release.Version; this.revision = release.Revision; this.label = release.Label; this.value = new Uri(release.Downloads["zip"].First(x => x.StartsWith("http"))); this.isEnabled = !ProductManager.Products.Any(this.CheckProduct); }
private void AddDetails(IRelease source, Grid parent, Thickness indent, Int32 row, Int32 col) { Dictionary <String, Object> details = new Dictionary <String, Object> { { nameof(source.Author), source.Author.Login }, // Intentionally, null not checked! { nameof(source.CreatedAt), source.CreatedAt }, { nameof(source.PublishedAt), source.PublishedAt }, { nameof(source.Draft), source.Draft }, { nameof(source.PreRelease), source.PreRelease }, }; Grid panel = new Grid(); panel.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); panel.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); Int32 index = 0; foreach (KeyValuePair <String, Object> detail in details) { panel.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); UIElement label = detail.Key.ToLabelElement(indent); panel.Children.Add(label); Grid.SetRow(label, index); Grid.SetColumn(label, 0); UIElement value = detail.Value.ToValueElement(indent); panel.Children.Add(value); Grid.SetRow(value, index); Grid.SetColumn(value, 1); index++; } parent.Children.Add(panel); Grid.SetRow(panel, row); Grid.SetColumn(panel, col); }
private string GetNuGet([NotNull] IRelease release) { Assert.ArgumentNotNull(release, "release"); var version = release.Version; if (version.Length == "x.x".Length) { version += ".0"; } return(Environment.ExpandEnvironmentVariables(string.Format("%PROGRAMDATA%\\Sitecore\\NuGet\\{0}.{1}\\SC.{0}.{1}.nupkg", version, release.Revision))); }
private void AddBody(IRelease source, Grid parent, Thickness indent, Int32 row, Int32 col) { if (String.IsNullOrWhiteSpace(source.Body)) { return; } UIElement value = source.Body.ToValueElement(indent); parent.Children.Add(value); Grid.SetRow(value, row); Grid.SetColumn(value, col); }
public static UIElement ToElement(this IRelease release) { if (release == null) { return(new UIElement()); } PropertyInfo[] properties = typeof(IRelease).GetProperties(BindingFlags.Instance | BindingFlags.Public); if (properties == null || !properties.Any()) { return(new UIElement()); } Grid result = new Grid(); result.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); result.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(100, GridUnitType.Star) }); Int32 rows = properties.Length; for (Int32 row = 0; row < rows; row++) { result.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); PropertyInfo property = properties[row]; Label label = release.ToLabel(property); result.Children.Add(label); Grid.SetRow(label, row); Grid.SetColumn(label, 0); UIElement value = release.ToValue(property); result.Children.Add(value); Grid.SetRow(value, row); Grid.SetColumn(value, 1); } return(result); }
public ProductDownload8InCheckbox([NotNull] IRelease release) { Assert.ArgumentNotNull(release, nameof(release)); name = "Sitecore CMS"; version = release.Version.MajorMinor; revision = release.Revision; label = release.Label; var distribution = release.DefaultDistribution; Assert.IsNotNull(distribution, nameof(distribution)); _Value = new Uri(distribution.Downloads.First(x => x.StartsWith("http"))); isEnabled = !ProductManager.Products.Any(CheckProduct); }
private void ApplyTermFrequencyInverseToScore(int releasesWithWord) { double termFrequencyInverse = Math.Log((double)releasesToSearchCount / (releasesWithWord + 1)); if (termFrequencyInverse <= 0) { termFrequencyInverse = 0.004; } for (int i = 0; i < releasesWithScore.Keys.Count(); i++) { IRelease key = currentWordScore.ElementAt(i).Key; double score = currentWordScore[key] *= termFrequencyInverse; releasesWithScore[key] += score; } }
public ProductDownloadInCheckbox([NotNull] IRelease release) { Assert.ArgumentNotNull(release, "release"); this.name = "Sitecore CMS"; this.version = release.Version; this.revision = release.Revision; this.label = release.Label; this.value = new ReadOnlyCollection <Uri>(release.Downloads.SelectMany(x => x.Value).Where(x => x.StartsWith("http")).Select(x => new Uri(x)).ToArray()); this.isEnabled = !ProductManager.Products.Any(this.CheckProduct); if (!this.isEnabled && this.name.EqualsIgnoreCase("Sitecore CMS") && !ProductManager.Products.Any(this.CheckAnalyticsProduct) && this.value.Count > 1) { this.isEnabled = true; this.nameOverride = "Sitecore Analytics"; } }
public SitecoreDefaultsContext([NotNull] ISitecoreVersion sitecoreVersion, IServiceClient client = null) { Assert.ArgumentNotNull(sitecoreVersion, nameof(sitecoreVersion)); Log.Info($"Initializing defaults context for {sitecoreVersion}"); _Client = client ?? _DefaultServiceClient; try { Release = _Client.Products["Sitecore CMS"].Versions[sitecoreVersion.MajorMinorUpdate]; } catch (Exception ex) { throw new ResourceNotAvailableException(ResourceType.SitecoreInformation, $"SitecoreDefaults (cannot find {sitecoreVersion} release). " + ContactSupportMessage, ex); } }
public void ShowDetails(Object requester, IRelease release) { if (requester == null || release == null) { return; } foreach (Object panel in this.panels) { if (panel is IReleaseVisualizer visualizer) { visualizer.Requester = requester; visualizer.Release = release; this.ShowPanel(visualizer); } } }
private void DownloadRelease(IRelease release, string cookie, ManifestInformation manifestInformation, string tempDir) { var downloadManager = new DownloadManager(); var progress = new ProgressBar(); downloadManager.OnProgressChanged += (block, l, totalPercentage) => { Console.ForegroundColor = ConsoleColor.Green; progress.Report((double)totalPercentage / 100); }; downloadManager.OnDownloadCompleted += result => { if (progress != null) { progress.Dispose(); progress = null; } if (!File.Exists(result.File)) { throw new IOException($"File '{result.File}' does not exist"); } var tempFile = $"{Path.GetFileNameWithoutExtension(result.File)} (copy).zip"; if (File.Exists(tempFile)) { File.Delete(tempFile); } File.Copy(result.File, tempFile); var sitecoreVersionIdentifier = Path.GetFileNameWithoutExtension(result.File); if (ExtractAssemblies(tempDir, tempFile, sitecoreVersionIdentifier)) { ScanAssembliesAndUpdateManifest(manifestInformation, tempDir, sitecoreVersionIdentifier, result.ReleaseVersion); } File.Delete(tempFile); }; downloadManager.Download(release, cookie, tempDir); }
// Protected members protected override Uri GetWebDriverUri(IWebBrowserInfo webBrowserInfo, IHttpWebRequestFactory webRequestFactory) { string releasesUrl = "https://github.com/mozilla/geckodriver/releases/latest"; IGitHubClient gitHubClient = new GitHubWebClient(webRequestFactory); IRelease release = gitHubClient.GetLatestRelease(releasesUrl); IReleaseAsset asset = release.Assets.Where(a => a.Name.Contains(GetPlatformOS())) .FirstOrDefault(); if (!string.IsNullOrWhiteSpace(asset?.DownloadUrl)) { return(new Uri(asset.DownloadUrl)); } // We weren't able to get information on the latest web driver. return(null); }
//since we can't release openGL objects in garbage collector threads, we need to send them to the main thread to be released public static void ReleaseOnMainThread(IRelease releaseObj) { mainWindow.releaseQueue.SendAsync(releaseObj); }
public ReleaseViewModel(IRelease release) { this.release = release; }
public ReleaseViewModel(IRelease release, IEnumerable<IVersionWork> versions) { this.release = release; this.Versions = versions.Select(v => new VersionViewModel(v)); }
public void SaveRelease(IRelease release) { this.entityRepo.SaveRelease(release); }
public void DeleteRelease(IRelease release) { this.entityRepo.DeleteRelease(release); }