public static void SaveProject <T>(ISavable <T> view, bool dialog = false) { if (dialog) { Directory.CreateDirectory(view.DefaultSaveFolder); } string path = dialog ? IOHelper.SaveProjectDialog(view.DefaultSaveFolder) : view.AutoSavePath; // If the file name is not an empty string open it for saving. if (path == "") { return; } try { SaveJson(path, view.GetSaveData()); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); Console.WriteLine(ex.Message); MessageBox.Show("Project could not be saved!"); } }