CreateAvailable() public static method

public static CreateAvailable ( RPackage package, IRPackageManagerViewModel owner ) : RPackageViewModel
package Microsoft.R.Components.PackageManager.Model.RPackage
owner IRPackageManagerViewModel
return RPackageViewModel
Beispiel #1
0
        private async Task LoadAvailablePackagesAsync()
        {
            await TaskUtilities.SwitchToBackgroundThread();

            var vmAvailablePackages = new List <IRPackageViewModel>();
            var availablePackages   = await _packageManager.GetAvailablePackagesAsync();

            var installedPackages = _installedPackages.ToDictionary(p => p.Name, p => p);

            foreach (var package in availablePackages)
            {
                IRPackageViewModel installedPackage;
                if (installedPackages.TryGetValue(package.Package, out installedPackage))
                {
                    installedPackage.UpdateAvailablePackageDetails(package);
                    vmAvailablePackages.Add(installedPackage);
                }
                else
                {
                    vmAvailablePackages.Add(RPackageViewModel.CreateAvailable(package, this));
                }
            }

            _availablePackages = vmAvailablePackages.OrderBy(p => p.Name).ToList();
        }