protected override async Task <bool> PrepareClosingAsync()
        {
            foreach (var project in _projectManager.Projects.OfType <Project>())
            {
                if (!await _saveProjectChangesService.EnsureChangesSavedAsync(project, SaveChangesReason.Closing))
                {
                    return(false);
                }
            }

            return(await base.PrepareClosingAsync());
        }
        protected override async Task OnClosingAsync(ProjectCancelEventArgs e)
        {
            if (e.Cancel)
            {
                return;
            }

            if (!await _saveProjectChangesService.EnsureChangesSavedAsync((Project)e.Project, SaveChangesReason.Closing))
            {
                e.Cancel = true;
            }
        }