/// <summary> /// Saves this instance to its configuration file. /// </summary> public void Save() { using (XmlTextWriter writer = new XmlTextWriter(_fileName, Encoding.UTF8)) { writer.Formatting = Formatting.Indented; writer.Indentation = 1; writer.IndentChar = (char)9; writer.WriteStartDocument(true); writer.WriteStartElement("config"); // <config> writer.WriteElementString("PauseTime", PauseTime.ToString()); writer.WriteElementString("UsePreChangeCommand", UsePreChangeCommand.ToString()); writer.WriteElementString("SendSelect", SendSelect.ToString()); writer.WriteElementString("DoubleChannelSelect", DoubleChannelSelect.ToString()); writer.WriteElementString("ChannelDigits", ChannelDigits.ToString()); writer.WriteElementString("RepeatChannelCommands", RepeatChannelCommands.ToString()); writer.WriteElementString("RepeatDelay", RepeatPauseTime.ToString()); writer.WriteElementString("SelectCommand", SelectCommand); writer.WriteElementString("PreChangeCommand", PreChangeCommand); for (int i = 0; i < 10; i++) { writer.WriteElementString("Digit" + i.ToString(), Digits[i]); } writer.WriteEndElement(); // </config> writer.WriteEndDocument(); } }
public XmlNode ToXml(XmlDocument document) { var attempt = document.CreateElement("Attempt"); var time = Time.ToXml(document); attempt.InnerXml = time.InnerXml; var id = document.CreateAttribute("id"); id.InnerText = Index.ToString(); attempt.Attributes.Append(id); if (Started.HasValue) { var started = document.CreateAttribute("started"); started.InnerText = Started.Value.Time.ToUniversalTime().ToString(CultureInfo.InvariantCulture); attempt.Attributes.Append(started); attempt.Attributes.Append(SettingsHelper.ToAttribute(document, "isStartedSynced", Started.Value.SyncedWithAtomicClock)); } if (Ended.HasValue) { var ended = document.CreateAttribute("ended"); ended.InnerText = Ended.Value.Time.ToUniversalTime().ToString(CultureInfo.InvariantCulture); attempt.Attributes.Append(ended); attempt.Attributes.Append(SettingsHelper.ToAttribute(document, "isEndedSynced", Ended.Value.SyncedWithAtomicClock)); } if (PauseTime.HasValue) { var pauseTime = document.CreateElement("PauseTime"); pauseTime.InnerText = PauseTime.ToString(); attempt.AppendChild(pauseTime); } return(attempt); }