/// <summary> /// Create Google Cloud Source Repository. /// </summary> /// <param name="repos">A list of existing repos.</param> /// <param name="project">The GCP project.</param> /// <returns>The new repo object.</returns> public static Repo PromptUser(IList <Repo> repos, Project project) { var dialog = new CsrAddRepoWindow(repos, project); dialog.ShowModal(); return(dialog.ViewModel.Result); }
public CsrAddRepoWindowViewModel(CsrAddRepoWindow owner, IList <Repo> repos, Project project) { _owner = owner.ThrowIfNull(nameof(owner)); _repos = repos.ThrowIfNull(nameof(repos)); _project = project.ThrowIfNull(nameof(project)); OkCommand = new ProtectedAsyncCommand(CreateRepoAsync, canExecuteCommand: false); CsrLinkCommand = new ProtectedCommand(() => Process.Start(CsrConsoleLink)); }
private void OpenCreateRepoDialog() { _latestCreatedRepo = CsrAddRepoWindow.PromptUser(RepositoriesAsync.Value, SelectedProject); if (_latestCreatedRepo != null) { _newReposList.Add(_latestCreatedRepo.Name); // Update the repos list ErrorHandlerUtils.HandleAsyncExceptions( () => RepositoriesAsync.StartListRepoTaskAsync(_selectedProject.ProjectId)); } }