internal static void DeleteAutoSaveFile(string file) { if (!string.IsNullOrEmpty(file)) { Mainframe.DeleteFile(Mainframe.AutoSaveFile(file)); } }
public void AutoSave() { try { if (!string.IsNullOrEmpty(this.File) && this.HasChanges && this.autoSavedVersion != this.CircuitProject.Version) { string file = Mainframe.AutoSaveFile(this.File); if (!string.IsNullOrEmpty(file)) { Mainframe.DeleteFile(file); this.CircuitProject.SaveSnapshot(file); Mainframe.Hide(file); } this.autoSavedVersion = this.CircuitProject.Version; } } catch (Exception exception) { Tracer.Report("Editor.AutoSave", exception); } }
private static CircuitProject Create(Mainframe mainframe, string file) { bool useAutoSaveFile = false; string autoSaveFile = Mainframe.AutoSaveFile(file); if (Mainframe.IsFileExists(autoSaveFile)) { App.Dispatch(() => { MessageBoxResult result = DialogMessage.Show( mainframe, Properties.Resources.TitleApplication, Properties.Resources.MessageLoadAutoSavedFile(file), null, MessageBoxImage.Question, MessageBoxButton.YesNo ); if (result == MessageBoxResult.Yes) { useAutoSaveFile = true; } }); if (!useAutoSaveFile) { Mainframe.DeleteFile(autoSaveFile); } } if (!useAutoSaveFile) { autoSaveFile = file; } CircuitProject project = CircuitProject.Create(autoSaveFile); if (useAutoSaveFile) { project.InOmitTransaction(() => {}); } return(project); }