コード例 #1
0
        private void OnAddExecute()
        {
            var packageSource = new EditablePackageSource
            {
                IsEnabled = true,
                Name      = DefaultSourceName,
                Source    = DefaultFeed,
                IsValid   = true
            };

            EditablePackageSources.Add(packageSource);
            SelectedPackageSource = packageSource;

            VerifyAll();
        }
コード例 #2
0
        private async Task VerifyPackageSourceAsync(EditablePackageSource packageSource, bool force = false)
        {
            if (packageSource == null || packageSource.IsValid == null)
            {
                return;
            }

            if (!force && string.Equals(packageSource.Source, packageSource.PreviousSourceValue))
            {
                return;
            }

            packageSource.IsValid = null;

            string feedToValidate;
            string nameToValidate;
            bool   isValidUrl;
            bool   isValidName;

            do
            {
                feedToValidate = packageSource.Source;
                nameToValidate = packageSource.Name;

                var namesCount = EditablePackageSources.Count(x => string.Equals(nameToValidate, x.Name));

                isValidName = !string.IsNullOrWhiteSpace(nameToValidate) && namesCount == 1;

                var validate = feedToValidate;
                var feedVerificationResult = await TaskHelper.Run(() => _nuGetFeedVerificationService.VerifyFeed(validate, true), true);

                packageSource.FeedVerificationResult = feedVerificationResult;
                isValidUrl = feedVerificationResult != FeedVerificationResult.Invalid && feedVerificationResult != FeedVerificationResult.Unknown;
            } while (!string.Equals(feedToValidate, packageSource.Source) && !string.Equals(nameToValidate, packageSource.Name));

            packageSource.PreviousSourceValue = packageSource.Source;
            packageSource.IsValidSource       = isValidUrl;
            packageSource.IsValidName         = isValidName;

            Validate(true);
        }
コード例 #3
0
        private void OnAddExecute()
        {
            var packageSource = new EditablePackageSource
            {
                IsEnabled = true,
                Name = DefaultSourceName,
                Source = DefaultFeed,
                IsValid = true
            };

            EditablePackageSources.Add(packageSource);
            SelectedPackageSource = packageSource;

            VerifyAll();
        }
コード例 #4
0
        private async Task VerifyPackageSourceAsync(EditablePackageSource packageSource, bool force = false)
        {
            if (packageSource == null || packageSource.IsValid == null)
            {
                return;
            }

            if (!force && string.Equals(packageSource.Source, packageSource.PreviousSourceValue))
            {
                return;
            }

            packageSource.IsValid = null;

            string feedToValidate;
            string nameToValidate;
            bool isValidUrl;
            bool isValidName;

            do
            {
                feedToValidate = packageSource.Source;
                nameToValidate = packageSource.Name;

                var namesCount = EditablePackageSources.Count(x => string.Equals(nameToValidate, x.Name));

                isValidName = !string.IsNullOrWhiteSpace(nameToValidate) && namesCount == 1;

                var validate = feedToValidate;
                var feedVerificationResult = await TaskHelper.Run(() => _nuGetFeedVerificationService.VerifyFeed(validate, false), true);

                isValidUrl = feedVerificationResult != FeedVerificationResult.Invalid && feedVerificationResult != FeedVerificationResult.Unknown;

            } while (!string.Equals(feedToValidate, packageSource.Source) && !string.Equals(nameToValidate, packageSource.Name));

            packageSource.PreviousSourceValue = packageSource.Source;
            packageSource.IsValidSource = isValidUrl;
            packageSource.IsValidName = isValidName;

            ValidateViewModel(true);
        }