private void file_CloseAllButThisWorkflowFileClicked(object sender, WorkflowFileCloseEventArgs e) { var workflowsInfos = files .Where(f => f != e.WorkflowFile && !f.IsSaved) .Select(f => new WorkflowFileInfo(f)) .ToArray(); var saveMessage = new SaveBeforeCloseMessage( workflowsInfos, null, result => { if (result == QuestionResult.Cancel) { return; } if (result == QuestionResult.Yes) { //file.Save(); } //files.Remove(file); }); MessengerInstance.Send(saveMessage); }
private void file_CloseWorkflowFileClicked(object sender, WorkflowFileCloseEventArgs e) { var index = files.IndexOf(e.WorkflowFile); if (index == -1) { return; } var fileToClose = files[index]; if (!fileToClose.IsSaved) { var saveResult = QuestionResult.Yes; var saveMessage = new SaveBeforeCloseMessage( new List <WorkflowFileInfo> { new WorkflowFileInfo(fileToClose) }, null, result => { saveResult = result; }); MessengerInstance.Send(saveMessage); if (saveResult == QuestionResult.Cancel) { return; } if (saveResult == QuestionResult.Yes) { if (!fileToClose.Save()) { return; } } } files.Remove(fileToClose); if (files.Count == 0) { ActiveWorkflowFile = null; } }
private void file_CloseWorkflowFileClicked(object sender, WorkflowFileCloseEventArgs e) { var index = files.IndexOf(e.WorkflowFile); if (index == -1) { return; } var fileToClose = files[index]; if (!fileToClose.IsSaved) { var saveResult = QuestionResult.Yes; var saveMessage = new SaveBeforeCloseMessage( new List<WorkflowFileInfo> { new WorkflowFileInfo(fileToClose) }, null, result => { saveResult = result; }); MessengerInstance.Send(saveMessage); if (saveResult == QuestionResult.Cancel) { return; } if (saveResult == QuestionResult.Yes) { if (!fileToClose.Save()) { return; } } } files.Remove(fileToClose); if (files.Count == 0) { ActiveWorkflowFile = null; } }