Sage.SData.Client.Extensions.SDataPayload.WriteTo C# (CSharp) Method

WriteTo() private method

private WriteTo ( string name, string ns, XmlWriter writer, string xmlNamespace ) : void
name string
ns string
writer System.Xml.XmlWriter
xmlNamespace string
return void
        internal void WriteTo(string name, string ns, XmlWriter writer, string xmlNamespace)
        {
            if (string.IsNullOrEmpty(name))
            {
                name = ResourceName;
            }

            if (!string.IsNullOrEmpty(Namespace))
            {
                ns = Namespace;
            }

            writer.WriteStartElement(name, ns);

            if (Key != null) writer.WriteAttributeString("key", xmlNamespace, Key);
            if (Uri != null) writer.WriteAttributeString("uri", xmlNamespace, Uri.AbsoluteUri);
            if (Uuid != null) writer.WriteAttributeString("uuid", xmlNamespace, Uuid.ToString());
            if (Descriptor != null) writer.WriteAttributeString("descriptor", xmlNamespace, Descriptor);
            if (Lookup != null) writer.WriteAttributeString("lookup", xmlNamespace, Lookup);
            if (IsDeleted != null) writer.WriteAttributeString("isDeleted", xmlNamespace, XmlConvert.ToString(IsDeleted.Value));

            foreach (var pair in Values)
            {
                WriteItemTo(pair.Key, ns, pair.Value, writer, xmlNamespace);
            }

            writer.WriteEndElement();
        }

Same methods

SDataPayload::WriteTo ( XmlWriter writer, string xmlNamespace ) : void

Usage Example

        public static XPathNavigator WritePayload(SDataPayload payload)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = XmlWriter.Create(stream))
                {
                    payload.WriteTo(writer, Client.Framework.Common.Atom.Namespace);
                }

                stream.Seek(0, SeekOrigin.Begin);
                return new XPathDocument(stream).CreateNavigator();
            }
        }