public bool Exit() { if (isDirty) { DialogResult result = MessageBox.Show("Save current session before exiting?", "Exit", MessageBoxButtons.YesNoCancel); if (result == DialogResult.Yes) { if (File.Exists(FilePath)) { saver.SaveObject <MainWindow>(sendingForm, FilePath); return(true); } else { return(Save()); } } else if (result == DialogResult.No) { return(true); } else { return(false); } } else { return(true); } }
public void SaveSettings(string path) { saver = new BattleIO(); string settingsName = Path.GetDirectoryName(path) + @"\" + Path.GetFileNameWithoutExtension(FilePath) + "_settings.xml"; saver.SaveObject <Settings>(settings, settingsName); }
private bool Save() { SaveFileDialog saveBox = new SaveFileDialog(); saveBox.Filter = "Session File (*.ssn)|*.ssn"; if (startFolder != "") { saveBox.InitialDirectory = startFolder; } saveBox.FileName = Program.activeSessionName; DialogResult result = saveBox.ShowDialog(); if (result == DialogResult.OK) { saver = new BattleIO(); FilePath = saveBox.FileName; startFolder = Path.GetDirectoryName(FilePath); Program.activeSessionName = Path.GetFileName(FilePath); SessionDetail sessionData = new SessionDetail(); sessionData.CopySessionFieldsFromWindow(sendingForm, Program.activeSessionName); //List<SerializableObject> saveableData = SerializableObject.PackageObjectList(sessionData); if (saver.SaveObject <SessionDetail>(sessionData, FilePath)) { sendingForm.WriteToLog("Session Saved as \"" + FilePath + "\""); SaveSettings(FilePath); isDirty = false; sendingForm.Text = Program.ProgramName + " - " + Path.GetFileName(FilePath); return(true); } else { sendingForm.WriteToLog("Save failed. Check the log for details."); return(true); } } else { return(false); } }
public void SaveSession(bool SaveAs) { if (FilePath == null) { FilePath = SessionDetail.FilePath; } if (File.Exists(FilePath) && !SaveAs) { SessionDetail sessionData = new SessionDetail(); sessionData.CopySessionFieldsFromWindow(sendingForm, Program.activeSessionName); saver = new BattleIO(); saver.SaveObject <SessionDetail>(sessionData, FilePath); sendingForm.WriteToLog("Session Saved as \"" + FilePath + "\""); sendingForm.Text = Program.ProgramName + " - " + Program.activeSessionName; isDirty = false; } else { Save(); } }