public IPackageSource Save()
        {
            if (edit == null)
            {
                var source = new NuGetPackageSource(new PackageSource(uri.ToString(), name));
                service.Sources.Add(source);
                service.SavePackageSources();
                return(source);
            }
            else if (edit.Name == name)
            {
                edit.Original.Source = uri.ToString();
                service.SavePackageSources();
                return(edit);
            }
            else
            {
                int index = service.Sources.IndexOf(edit);
                service.Sources.Remove(edit);

                var source = new NuGetPackageSource(new PackageSource(uri.ToString(), name));
                service.Sources.Insert(index, source);
                service.SavePackageSources();
                return(source);
            }
        }
 internal NuGetPackageSourceBuilder(NuGetPackageSourceCollection service, NuGetPackageSource edit)
 {
     this.service = service;
     this.edit    = edit;
     this.name    = edit.Name;
     this.uri     = edit.Uri;
 }
        public void Remove(IPackageSource source)
        {
            NuGetPackageSource target = EnsureType(source);

            if (Sources.Remove(target))
            {
                SavePackageSources();
            }
        }
        public int MoveUp(IPackageSource source)
        {
            NuGetPackageSource target = EnsureType(source);
            int index = Sources.IndexOf(target);

            if (index > 0)
            {
                Sources.RemoveAt(index);
                Sources.Insert(--index, target);
                SavePackageSources();
            }

            return(index);
        }
        public int MoveDown(IPackageSource source)
        {
            NuGetPackageSource target = EnsureType(source);
            int index = Sources.IndexOf(target);

            if (index < Sources.Count - 1)
            {
                Sources.RemoveAt(index);
                Sources.Insert(++index, target);
                SavePackageSources();
            }

            return(index);
        }