private async Task ExecuteUpgradeAllCommandAsync()
        {
            using (new ProgressIndication(dispatcher, () => IsUserAllowedToExecuteActions = false, () => IsUserAllowedToExecuteActions = true))
            {
                ActionProcessOutput.Clear();
                Filter = PackageDisplayTypeFactory.BuildUpgradeFilter(packageRepo, nugetExecutor, chocoExecutor);
                await ApplyFilterAsync();

                var packagesToUpdate = Packages.ToArray(); // The list is copied, because the updated packages can be filtered away.
                chocoExecutor.Upgrade(packagesToUpdate, null, outputLineCallback => ActionProcessOutput.Add(outputLineCallback));
            }

            await ExecuteRefreshCommandAsync();
        }
 public void Initialized()
 {
     UpdatePacakgeStates();
     Filters.AddRange(PackageDisplayTypeFactory.BuildDisplayTypes(packageRepo, nugetExecutor, chocoExecutor));
     Filter = Filters.First();
 }