void RemovePackageIfAlreadyAdded (RecentPackage package)
		{
			int index = FindPackage (package);
			if (index >= 0) {
				packages.RemoveAt (index);
			}
		}
		public void AddPackage (PackageSearchResultViewModel viewModel, string source)
		{
			var package = new RecentPackage (viewModel, source);
			viewModel.IsRecentPackage = true;
			RemovePackageIfAlreadyAdded (package);
			AddPackageAtBeginning (package);
			RemoveLastPackageIfCurrentPackageCountExceedsMaximum ();
		}
        void RemovePackageIfAlreadyAdded(RecentPackage package)
        {
            int index = FindPackage(package);

            if (index >= 0)
            {
                packages.RemoveAt(index);
            }
        }
        public void AddPackage(ManagePackagesSearchResultViewModel viewModel, string source)
        {
            var package = new RecentPackage(viewModel, source);

            viewModel.IsRecentPackage = true;
            RemovePackageIfAlreadyAdded(package);
            AddPackageAtBeginning(package);
            RemoveLastPackageIfCurrentPackageCountExceedsMaximum();
        }
		void AddPackageAtBeginning (RecentPackage package)
		{
			package.PackageViewModel.Parent = null;
			packages.Insert (0, package);
		}
		bool IsMatch (RecentPackage x, RecentPackage y)
		{
			return PackageSearchResultViewModelComparer.Instance.Equals (x.PackageViewModel, y.PackageViewModel);
		}
		int FindPackage (RecentPackage package)
		{
			return packages.FindIndex (p => IsMatch (p, package));
		}
 void AddPackageAtBeginning(RecentPackage package)
 {
     package.PackageViewModel.Parent = null;
     packages.Insert(0, package);
 }
 bool IsMatch(RecentPackage x, RecentPackage y)
 {
     return(ManagedPackagesSearchResultViewModelComparer.Instance.Equals(x.PackageViewModel, y.PackageViewModel));
 }
 int FindPackage(RecentPackage package)
 {
     return(packages.FindIndex(p => IsMatch(p, package)));
 }
示例#11
0
        /// <summary>
        /// Add the specified package to the list.
        /// </summary>
        private void AddRecentPackage(RecentPackage package, bool replaceExistingItem)
        {
            if (_packagesCache.Contains(package)) {
                if (replaceExistingItem) {
                    _packagesCache.Remove(package);
                }
                else {
                    return;
                }
            }

            _packagesCache.Add(package);
        }
 /// <summary>
 /// Add the specified package to the list.
 /// </summary>
 private void AddRecentPackage(RecentPackage package, bool updateOnly = false)
 {
     var index = _packagesCache.FindIndex(p => p.Id == package.Id);
     if (index != -1)
     {
         var cachedPackage = _packagesCache[index];
         if (package.Version > cachedPackage.Version)
         {
             _packagesCache[index] = package;
         }
         _packagesCache[index].LastUsedDate = (package.LastUsedDate > cachedPackage.LastUsedDate) ?
             package.LastUsedDate : cachedPackage.LastUsedDate;
     }
     else if (!updateOnly)
     {
         _packagesCache.Add(package);
     }
 }