/// <summary> /// Statische Methode /// Speichert den gesamten Xml Quellcode in eine *.xml Datei /// Falls die Datei bereits geladen wurde, wird sie gelöscht und neu erstellt /// Falls die Datei neu ist wird ein Fenster geöffnet, um den Speicherort zu bestimmen. /// Bei einem IO Fehler wird eine Exception geworfen. /// </summary> /// <param name="fileName">Dieser Paramater ist von dem Typ string und beihnaltet den Pfad der XML Datei</param> /// <param name="xml">Dieser Parameter ist vom Typ WriteXml und beinhaltet den gesamten Xml Quellcode</param> public static void Save(ref string fileName, WriteXml xml) { if (!(fileName == null)) { try { File.Delete(fileName); xml.Save(fileName); } catch (Exception) { throw; } } else { Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.Filter = "eXtensible Markup Language (*.xml)|*.xml"; dlg.Title = "Query"; dlg.ShowDialog(); if (dlg.FileName != "") { fileName = dlg.FileName; try { xml.Save(fileName); } catch (System.Xml.XmlException) { throw; } catch (Exception) { throw; } } } }
/// <summary> /// Initalisiert die WPF Komponente /// Initalisiert ein WriteXml Objekt /// Aktualisiert die TextBox /// </summary> public MainWindow() { InitializeComponent(); xml = new WriteXml(); InsertTextBox(); }
/// <summary> /// New Button Handler /// Setzt das gesamte XML Objekt sowie alle grafischen Anzeigen zurück /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void New_Click(object sender, RoutedEventArgs e) { MessageBoxResult result = MessageBox.Show("Are you sure you want to discard changes?", "Warnining", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { xml = new WriteXml(); RemoveVariables(); RemoveConnectionsId(); InsertTextBox(); fileName = null; Format.IsEnabled = true; Save.IsEnabled = false; Report.IsEnabled = false; Tabelle.IsEnabled = false; } }