private void YesNo() { var dialog = new YesNoDialogViewModel("Question", "Can you see this?"); var result = _dialogService.OpenDialog(dialog); Console.WriteLine(result); }
/// <summary> /// Execute the <see cref="CopyElementDefinitionCommand"/> /// </summary> private async Task ExecuteCopyElementDefinition() { var elementDef = this.SelectedThing.Thing as ElementDefinition; var copyUsage = true; if ((elementDef != null) && elementDef.ContainedElement.Any()) { var yesNoDialogViewModel = new YesNoDialogViewModel("Confirmation", "Would you like to copy the Element Usages?"); var result = this.DialogNavigationService.NavigateModal(yesNoDialogViewModel); copyUsage = result.Result.HasValue && result.Result.Value; } try { this.IsBusy = true; var copyCreator = new CopyElementDefinitionCreator(this.Session); await copyCreator.Copy((ElementDefinition)this.SelectedThing.Thing, copyUsage); } catch (Exception exception) { logger.Error(exception, "An error occured when creating a copy of an Element Definition"); } finally { this.IsBusy = false; } }
private static void ShowErrorDialog(Exception ex) { YesNoDialogViewModel dialogViewModel = new YesNoDialogViewModel("Error", ex.ToString(), "OK", string.Empty, null, null); YesNoDialog dialog = new YesNoDialog(dialogViewModel); dialog.ShowDialog(); }
public YesNoDialogWindow() { InitializeComponent(); YesNoDialogViewModel vm = new YesNoDialogViewModel(); DataContext = vm; if (vm.CloseAction == null) { vm.CloseAction = () => { }; } vm.CloseAction = Close; }
/// <summary> /// Resets the content to the content of the first <see cref="Definition"/> of the <see cref="Requirement"/> /// </summary> /// <param name="withWarning"> /// If true, a warning message will be displayed. /// </param> private void ResetContent(bool withWarning) { // give a warning. If user cancels the changes are not reset. if (withWarning) { var yesNoDialog = new YesNoDialogViewModel("Cancel Edit", "Press Yes if you want to cancel the edit. All changes will be lost"); var dialogResult = this.dialogNavigationService.NavigateModal(yesNoDialog); if (dialogResult != null && dialogResult.Result != null && dialogResult.Result.Value) { this.DefinitionContent = this.originalDefinitionContent; this.EventPublisher.Publish(new ConfirmationEvent(true)); } } }
private async void ExecuteWinDialog(bool reportWinning, Player player, WinningReason winningReason, Move invalidMove) { var yesNoDialogViewModel = new YesNoDialogViewModel(GetWinningOrLoosingMessage(reportWinning, winningReason, invalidMove)); var winningDialog = new YesNoDialog { DataContext = yesNoDialogViewModel }; var dialogResult = await DialogHost.Show(winningDialog, "RootDialog"); if ((bool)dialogResult) { var dialog = new SaveFileDialog() { Filter = "textFiles |*.txt", AddExtension = true, CheckFileExists = false, OverwritePrompt = true, ValidateNames = true, CheckPathExists = true, CreatePrompt = false, Title = Captions.PvB_SaveGameProgressFileDialogTitle }; var result = dialog.ShowDialog(); if (result.HasValue) { if (result.Value) { var fileText = CreateProgressText.FromBoardState(gameService.CurrentBoardState) .AndAppendWinnerAndReason(player, winningReason, invalidMove); File.WriteAllText(dialog.FileName, fileText); } } } yesNoDialogViewModel.Dispose(); }
private async void OnClosing(object sender, CancelEventArgs cancelEventArgs) { var mainWindowViewModel = AssociatedObject.DataContext as IMainWindowViewModel; if (mainWindowViewModel.PreventWindowClosingToAskUser) { cancelEventArgs.Cancel = true; var closingDialogViewModel = new YesNoDialogViewModel(Captions.ClosingDialogMessage); var closingDialog = new YesNoDialog { DataContext = closingDialogViewModel }; var closingDialogResult = await DialogHost.Show(closingDialog, "RootDialog"); if ((bool)closingDialogResult) { var savingDialogViewModel = new YesNoDialogViewModel(Captions.SavingDialogMessage); var savingDialog = new YesNoDialog { DataContext = savingDialogViewModel }; var savingDialogResult = await DialogHost.Show(savingDialog, "RootDialog"); if ((bool)savingDialogResult) { if (mainWindowViewModel.DumpProgressToFile.CanExecute(null)) { mainWindowViewModel.DumpProgressToFile.Execute(null); } } mainWindowViewModel.CloseWindow.Execute(null); } closingDialogViewModel.Dispose(); } }
public YesNoDialog(YesNoDialogViewModel viewModel) { InitializeComponent(); _viewModel = viewModel; DataContext = _viewModel; }
private async Task SearchSubmit_ExecuteAsync() { DisplayErrors.Clear(); TimeSpan?timeSinceUpdate = DateTime.Now - OracleCatalog.UpdateTime; if (timeSinceUpdate == null) { var yesNoDialog = new YesNoDialogViewModel("Card Catalog must be updated before continuing. Would you like to update the Card Catalog (~65 MB) now?", "Update?"); if (!(DialogService.ShowDialog(yesNoDialog) ?? false)) { return; } await UpdateCatalog_ExecuteAsync(); } if (timeSinceUpdate > TimeSpan.FromDays(7)) { var yesNoDialog = new YesNoDialogViewModel("Card Catalog is out of date, it is recommended you get a new catalog now." + "If you don't, cards may not appear in search results or you may receive old " + "imagery. Click 'Yes' to update the Card Catalog (~65 MB) now or 'No' use the old catalog.", "Update?"); if (!(DialogService.ShowDialog(yesNoDialog) ?? false)) { return; } await UpdateCatalog_ExecuteAsync(); } DisplayedCards.Clear(); await Task.Delay(100); Reporter.StartBusy(); Reporter.StartProgress(); Reporter.Report("Deciphering old one's poem"); Reporter.StatusReported += BuildingCardsErrors; List <SearchLine> lines = DecklistText .Split(new[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries) .Where(s => !string.IsNullOrWhiteSpace(s)) .Select(l => new SearchLine(l)) .ToList(); for (var i = 0; i < lines.Count; i++) { List <Card> cards = OracleCatalog.FindExactCard(lines[i].SearchTerm); if (!cards.Any()) { cards.Add(await ScryfallService.GetFuzzyCardAsync(lines[i].SearchTerm, Reporter)); } if (!cards.Any() || cards.Any(c => c == null)) { Reporter.Report($"[{lines[i].SearchTerm}] returned no results", true); continue; } Card preferredCard; if (cards.Count > 1) { var cardChooser = new ChooseCardDialogViewModel(cards, Reporter); await cardChooser.LoadImagesFromCards(); if (!(DialogService.ShowDialog(cardChooser) ?? false)) { continue; } preferredCard = ArtPreferences.GetPreferredCard(cardChooser.ChosenCard); } else { preferredCard = ArtPreferences.GetPreferredCard(cards.Single()); } if (preferredCard.IsDoubleFaced) { BitmapSource frontImage = ImageHelper.LoadBitmap(await ImageCaching.GetImageAsync(preferredCard.CardFaces[0].ImageUris.BorderCrop, Reporter)); var frontVm = new CardViewModel(Reporter, ArtPreferences, preferredCard, frontImage, lines[i].Quantity, ZoomPercent); BitmapSource backImage = ImageHelper.LoadBitmap(await ImageCaching.GetImageAsync(preferredCard.CardFaces[1].ImageUris.BorderCrop, Reporter)); var backVm = new CardViewModel(Reporter, ArtPreferences, preferredCard, backImage, lines[i].Quantity, ZoomPercent, false); DisplayedCards.Add(frontVm); await Task.Delay(10); DisplayedCards.Add(backVm); await Task.Delay(10); Reporter.Progress(i, 0, lines.Count - 1); } else { BitmapSource preferredImage = ImageHelper.LoadBitmap(await ImageCaching.GetImageAsync(preferredCard.ImageUris.BorderCrop, Reporter)); var cardVm = new CardViewModel(Reporter, ArtPreferences, preferredCard, preferredImage, lines[i].Quantity, ZoomPercent); DisplayedCards.Add(cardVm); await Task.Delay(10); Reporter.Progress(i, 0, lines.Count - 1); } } Reporter.StatusReported -= BuildingCardsErrors; Reporter.StopBusy(); Reporter.StopProgress(); }