private async Task AddExistingRepoAsync() { CommonOpenFileDialog dialog = new CommonOpenFileDialog { IsFolderPicker = true }; if (dialog.ShowDialog() == CommonFileDialogResult.Ok) { Path = dialog.FileName; } var error = string.Empty; var repository = new Repository(); try { var result = await _gitManager.AddExistingRepositoryAsync(_path).ConfigureAwait(false); error = result.Item2; repository = result.Item1; } catch (Exception ex) { MessageBox.Show(ex.Message); } if (repository == null) { MessageBox.Show(error); return; } Application.Current.Dispatcher.Invoke(delegate { _repositories.Add(repository); }); Path = ""; }