/// <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();
            }
        }
Exemple #2
0
        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);
        }