public void OnGet([FromRoute] string author) { Packages = _helper.PackageCache.OrderByDescending(p => p.DatePublished) .Where(p => p.Author.Equals(author, StringComparison.OrdinalIgnoreCase)); if (Packages.Any()) { Author = Packages.First().Author; } else { Author = author; } }
public async Task HandleAsync(PackageChangedMessage message, CancellationToken cancellationToken) #endif { switch (message.ChangeType) { case PackageChangeType.Pinned: PackageSource.Refresh(); break; case PackageChangeType.Unpinned: if (message.Package.SourceType != chocolatey.infrastructure.app.domain.SourceType.normal) { PackageSource.Refresh(); } else { // Local file system var package = Packages.First(p => p.Id == message.Id); if (package.LatestVersion != null) { PackageSource.Refresh(); } else { var outOfDatePackages = await _chocolateyService.GetOutdatedPackages(package.IsPrerelease, package.Id, false); foreach (var update in outOfDatePackages) { await _eventAggregator.PublishOnUIThreadAsync(new PackageHasUpdateMessage(update.Id, update.Version)); } PackageSource.Refresh(); } } break; case PackageChangeType.Uninstalled: Packages.Remove(Packages.First(p => p.Id == message.Id)); break; default: await LoadPackages(); break; } }
public override string ToString() { var sb = new StringBuilder(); sb.AppendLine(Repository.Name); if (Packages.Any() == false) { return(sb.ToString()); } var currentPackage = Packages.First(); foreach (var package in Packages.Skip(1)) { sb.AppendFormat("├─{0}{1} [{2}]\r\n", currentPackage.Name, GenerateTitle(currentPackage), GenerateVersions(currentPackage)); currentPackage = package; } sb.AppendFormat("└─{0}{1} [{2}]\r\n", currentPackage.Name, GenerateTitle(currentPackage), GenerateVersions(currentPackage)); return(sb.ToString()); }
public async Task Handle(PackageChangedMessage message) { switch (message.ChangeType) { case PackageChangeType.Pinned: PackageSource.Refresh(); break; case PackageChangeType.Unpinned: var package = Packages.First(p => p.Id == message.Id); if (package.LatestVersion != null) { PackageSource.Refresh(); } else { var outOfDatePackages = await _chocolateyService.GetOutdatedPackages(package.IsPrerelease, package.Id); foreach (var update in outOfDatePackages) { await _eventAggregator.PublishOnUIThreadAsync(new PackageHasUpdateMessage(update.Id, update.Version)); } PackageSource.Refresh(); } break; case PackageChangeType.Uninstalled: Packages.Remove(Packages.First(p => p.Id == message.Id)); break; default: await LoadPackages(); break; } }
public MainViewModel() { // 조회 내역 처리 Teller.TellerPackageEvent += packages => { Application.Current.Dispatcher.Invoke(new Action(() => { for (var i = packages.Count - 1; i >= 0; i--) // reverse order { var pack = packages[i]; try { Packages.First(new Func <Package, bool>(package => package.Hash == pack.Hash)); } catch (InvalidOperationException) { ProcessPackage(pack); } } Update("Packages"); })); }; Teller.TellerStopEvent += () => { IsFetching = false; server.Update("OFF"); }; // 로그 처리 Teller.TellerLogEvent += log => { Log += $"\n[{DateTime.Now.ToString()}] {log}"; Update("Log"); }; // 서버 시작 server = new StatusServer(); Teller.Log($"http://0.0.0.0:{server.Port} 에서 서비스 상태 웹서버 시작..."); }
private void InstallNextPackage() { if (Packages.Count > 0) { if (actualpackage != null && actualpackage.Reference.IdProduitsNavigation.Equals(Packages.First().Reference.IdProduitsNavigation)) { actualpackage = Packages.First(); } else { installDelayCompteur = InstallDelay * 60; actualpackage = Packages.First(); Console.WriteLine("Délai de " + installDelayCompteur + "s sur " + Nom); } InProduction = true; } else { actualpackage = null; InProduction = false; } }
public PackageOnNode PackageByName(string packageName) { return(Packages.First(p => String.Equals(p.Name, packageName, StringComparison.InvariantCultureIgnoreCase))); }
public IAddOperation CreateAddOperation() { return(AddOperation ?? new MockAddOperation(this, Packages.First())); }