ArtOfWords.ViewModels.MainWindowViewModel.AskSaving C# (CSharp) Method

AskSaving() private method

private AskSaving ( ) : AskSaveResult
return AskSaveResult
        private AskSaveResult AskSaving()
        {
            MessageBoxResult res = ShowDialogManager.ShowMessageBox("そのまえに、データを保存しますか?(「いいえ」を押すと変更内容は破棄されます)", "確認", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
            if (res == MessageBoxResult.Cancel)
            {
                return AskSaveResult.Cancel;
            }

            if (res == MessageBoxResult.No)
            {
                return AskSaveResult.CanProcess;
            }

            // 一旦フォーカスを外します。
            var prevFocus = FocusManager.GetFocusedElement(_view);
            FocusManager.SetFocusedElement(_view, _view);

            // 溜まってるイベントは全部処理させる
            WPFUtil.DoEvents();

            _writersBattleFieldViewModel.SetTextToModelsComposite();

            if (_fileService.SaveFile() == false)
            {
                return AskSaving();
            }

            return AskSaveResult.CanProcess;
        }