private void OnAddExecute() { var packageSource = new EditablePackageSource { IsEnabled = true, Name = DefaultSourceName, Source = DefaultFeed, IsValid = true }; EditablePackageSources.Add(packageSource); SelectedPackageSource = packageSource; VerifyAll(); }
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); }
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); }