private void DynamoViewModelRequestUserSaveWorkflow(object sender, WorkspaceSaveEventArgs e)
{
var dialogText = "";
// If the file is read only, display a different message.
if (e.Workspace.IsReadOnly)
{
dialogText = String.Format(Dynamo.Wpf.Properties.Resources.MessageConfirmToSaveReadOnlyCustomNode, e.Workspace.FileName);
}
else
{
if (e.Workspace is CustomNodeWorkspaceModel)
{
dialogText = String.Format(Dynamo.Wpf.Properties.Resources.MessageConfirmToSaveCustomNode, e.Workspace.Name);
}
else // home workspace
{
if (string.IsNullOrEmpty(e.Workspace.FileName))
{
dialogText = Dynamo.Wpf.Properties.Resources.MessageConfirmToSaveHomeWorkSpace;
}
else
{
dialogText = String.Format(Dynamo.Wpf.Properties.Resources.MessageConfirmToSaveNamedHomeWorkSpace, Path.GetFileName(e.Workspace.FileName));
}
}
}
var buttons = e.AllowCancel ? MessageBoxButton.YesNoCancel : MessageBoxButton.YesNo;
var result = System.Windows.MessageBox.Show(this ,dialogText,
Dynamo.Wpf.Properties.Resources.SaveConfirmationMessageBoxTitle,
buttons, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
// If the file is read-only, redirect yes to save-as.
if (e.Workspace.IsReadOnly)
dynamoViewModel.ShowSaveDialogAndSaveResult(e.Workspace);
else
e.Success = dynamoViewModel.ShowSaveDialogIfNeededAndSave(e.Workspace);
}
else if (result == MessageBoxResult.Cancel)
{
//return false;
e.Success = false;
}
else
{
e.Success = true;
}
}