Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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;
            }
        }
Exemple #5
0
        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;
     }
 }
Exemple #7
0
 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()));
 }