private void OnClosing(object sender, CancelEventArgs e)
        {
            if (_mainWindowCoordinator.Saved)
            {
                return;
            }

            if (_coordinator.ShowModalMessageWindow(_localizer.CommonWarnig, _localizer.MainWindowCloseWarning) == false)
            {
                e.Cancel = true;
                return;
            }

            if (!_workspace.ProjectFile.IsEmpty)
            {
                _workspace.ProjectFile.Operator.Tell(ForceSave.Seal(_workspace.ProjectFile), ActorRefs.NoSender);
            }
        }
        private void OnClosing(object sender, CancelEventArgs e)
        {
            if (_forceClose)
            {
                return;
            }
            if (_mainWindowCoordinator.Saved)
            {
                return;
            }

            e.Cancel = true;

            if (Dialogs.IsOpen)
            {
                Dialogs.IsOpen = false;
            }

            Dialogs.ShowDialog(_framework.CreateDefaultMessageContent(_localizer.CommonWarnig,
                                                                      _localizer.MainWindowCloseWarning,
                                                                      res => Dialogs.CurrentSession.Close(res == true), true))
            .ContinueWith(t =>
            {
                if (!t.IsCompletedSuccessfully || t.Result is not bool result)
                {
                    return;
                }
                if (!result)
                {
                    return;
                }

                if (!_workspace.ProjectFile.IsEmpty)
                {
                    _workspace.ProjectFile.Operator.Tell(ForceSave.Seal(_workspace.ProjectFile),
                                                         ActorRefs.NoSender);
                }

                _forceClose = true;
                Dispatcher.InvokeAsync(Close);
            });
        }