Пример #1
0
        public void WriteXml(XmlWriter writer)
        {
            writer.WriteAttribute(ATTR.format_version, FormatVersion.AsDouble());
            writer.WriteAttribute(ATTR.time_stamp, TimeStamp.ToUniversalTime().ToString(CultureInfo.InvariantCulture));
            writer.WriteAttribute(ATTR.user, User);

            writer.WriteAttribute(ATTR.insert_undo_redo, InsertUndoRedoIntoAllInfo);

            if (CountEntryType.HasValue)
            {
                writer.WriteAttribute(ATTR.count_type, CountEntryType);
            }

            if (!string.IsNullOrEmpty(Reason))
            {
                writer.WriteElementString(EL.reason, Reason);
            }

            if (!string.IsNullOrEmpty(ExtraInfo))
            {
                writer.WriteElementString(EL.extra_info, ExtraInfo.EscapeNonPrintableChars());
            }

            writer.WriteElement(EL.message, UndoRedo);
            writer.WriteElement(EL.message, Summary);

            var startIndex = InsertUndoRedoIntoAllInfo ? 1 : 0;

            for (var i = startIndex; i < _allInfo.Count; ++i)
            {
                writer.WriteElement(EL.message, _allInfo[i]);
            }
        }