bool SaveAs() { if (ProgramProvider.Program == null) { return(true); } var filename = FilenameProvider.GetSaveFileName(Resources.Strings.TitleBarViewModel_SaveProgramAs); if (!string.IsNullOrEmpty(filename)) { return(false); } Mouse.OverrideCursor = Cursors.Wait; var result = ProgramAccessor.Save(filename, ProgramProvider.Program); Mouse.OverrideCursor = null; if (result) { StatusUpdateProvider.Publish(string.Format(Resources.Strings.TitleBarViewModel_SavedProgramAs, ProgramProvider.Program.FileName)); return(true); } StatusUpdateProvider.Publish(string.Format(Resources.Strings.TitleBarViewModel_CouldNotSaveProgram, ProgramProvider.Program.FileName)); return(false); }
bool EnsureSaved() { if (ProgramProvider.Program == null || ProgramProvider.Program.IsModified == false) { return(true); } var fileName = "Untitled"; if (ProgramProvider.Program != null && !string.IsNullOrEmpty(ProgramProvider.Program.FileName)) { fileName = Path.GetFileName(ProgramProvider.Program.FileName); } var title = string.Format(Resources.Strings.TitleBarViewModel_DoYouWantToSave, fileName); var filename = FilenameProvider.GetSaveFileName(title, fileName); return(!string.IsNullOrEmpty(filename) && Save()); }