NuGet.Commands.SourcesCommand.AddNewSource C# (CSharp) Method

AddNewSource() private method

private AddNewSource ( ) : void
return void
        private void AddNewSource()
        {
            if (String.IsNullOrEmpty(Name))
            {
                throw new CommandLineException(NuGetResources.SourcesCommandNameRequired);
            }
            if (String.Equals(Name, NuGetResources.ReservedPackageNameAll))
            {
                throw new CommandLineException(NuGetResources.SourcesCommandAllNameIsReserved);
            }
            if (String.IsNullOrEmpty(Source))
            {
                throw new CommandLineException(NuGetResources.SourcesCommandSourceRequired);
            }
            // Make sure that the Source given is a valid one.
            if (!PathValidator.IsValidSource(Source))
            {
                throw new CommandLineException(NuGetResources.SourcesCommandInvalidSource);
            }

            ValidateCredentials();

            // Check to see if we already have a registered source with the same name or source
            var sourceList = _sourceProvider.LoadPackageSources().ToList();
            bool hasName = sourceList.Any(ps => String.Equals(Name, ps.Name, StringComparison.OrdinalIgnoreCase));
            if (hasName)
            {
                throw new CommandLineException(NuGetResources.SourcesCommandUniqueName);
            }
            bool hasSource = sourceList.Any(ps => String.Equals(Source, ps.Source, StringComparison.OrdinalIgnoreCase));
            if (hasSource)
            {
                throw new CommandLineException(NuGetResources.SourcesCommandUniqueSource);
            }

            var newPackageSource = new PackageSource(Source, Name) { UserName = UserName, Password = Password };
            sourceList.Add(newPackageSource);
            _sourceProvider.SavePackageSources(sourceList);
            Console.WriteLine(NuGetResources.SourcesCommandSourceAddedSuccessfully, Name);
        }