public string ToXml() { lock (this) { XmlTextWriter writer = XmlAPI.CreateWriter(); // enclosing element writer.WriteStartElement(metaDataTag); // users element writer.WriteStartElement(usersTag); // sort the pairs by id List <KeyValuePair <int, string> > pairs = new List <KeyValuePair <int, string> >(userIdNameTable); pairs.Sort(new IntStringPairSorter()); foreach (KeyValuePair <int, string> pair in pairs) { writer.WriteStartElement(userTag); writer.WriteElementString(userIdTag, pair.Key.ToString()); writer.WriteStartElement(userNameTag); writer.WriteCData(pair.Value); writer.WriteEndElement(); writer.WriteEndElement(); } writer.WriteEndElement(); // note types element writer.WriteStartElement(noteTypesTag); pairs = new List <KeyValuePair <int, string> >(noteTypeIdDescriptionTable); pairs.Sort(new IntStringPairSorter()); foreach (KeyValuePair <int, string> pair in pairs) { writer.WriteStartElement(noteTypeTag); writer.WriteElementString(noteTypeIdTag, pair.Key.ToString()); writer.WriteStartElement(noteTypeDescriptionTag); writer.WriteCData(pair.Value); writer.WriteEndElement(); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndElement(); return(XmlAPI.FlushWriter(writer)); } }
public string ToXml() { XmlTextWriter writer = XmlAPI.CreateWriter(); writer.WriteStartElement(orderTag); // write the non-note PO details directly from the object this.Order.WriteOrderDetailsXml(writer); NoteInfo.WriteNotes(writer, this.Order.Notes, existingNotesTag); NoteInfo.WriteNotes(writer, this.NewNotes, newNotesTag); PhotoInfo.WritePhotos(writer, this.Order.Photos, existingPhotosTag); PhotoInfo.WritePhotos(writer, this.NewPhotos, newPhotosTag); writer.WriteElementString(statusTag, this.Status.ToString()); writer.WriteEndElement(); return(XmlAPI.FlushWriter(writer)); }