Exemplo n.º 1
0
        /// <summary>
        /// Persistence method for the Where object
        /// </summary>
        /// <param name="writer">the xmlwriter to write into</param>
        public void Save(XmlWriter writer)
        {
            if (Utilities.IsPersistable(this.Label) ||
                Utilities.IsPersistable(this.Rel) ||
                Utilities.IsPersistable(this.ValueString) ||
                entryLink != null)
            {
                writer.WriteStartElement(BaseNameTable.gDataPrefix, XmlName, BaseNameTable.gNamespace);

                if (Utilities.IsPersistable(this.Label))
                {
                    writer.WriteAttributeString(GDataParserNameTable.XmlAttributeLabel, this.Label);
                }

                if (Utilities.IsPersistable(this.Rel))
                {
                    writer.WriteAttributeString(GDataParserNameTable.XmlAttributeRel, this.Rel);
                }

                if (Utilities.IsPersistable(this.ValueString))
                {
                    writer.WriteAttributeString(GDataParserNameTable.XmlAttributeValueString, this.valueString);
                }

                if (entryLink != null)
                {
                    entryLink.Save(writer);
                }

                writer.WriteEndElement();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Persistence method for the Who object
        /// </summary>
        /// <param name="writer">the xmlwriter to write into</param>
        public void Save(XmlWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }

            if (Utilities.IsPersistable(this.Rel) ||
                Utilities.IsPersistable(this.valueString) ||
                Utilities.IsPersistable(this.email) ||
                this.attendeeType != null ||
                this.attendeeStatus != null ||
                this.entryLink != null)
            {
                writer.WriteStartElement(BaseNameTable.gDataPrefix, XmlName, BaseNameTable.gNamespace);

                if (Utilities.IsPersistable(this.Rel))
                {
                    writer.WriteAttributeString(GDataParserNameTable.XmlAttributeRel, this.Rel);
                }
                else
                {
                    throw new ClientFeedException("g:who/@rel is required.");
                }

                if (Utilities.IsPersistable(this.valueString))
                {
                    writer.WriteAttributeString(GDataParserNameTable.XmlAttributeValueString, this.valueString);
                }

                if (Utilities.IsPersistable(this.email))
                {
                    writer.WriteAttributeString(GDataParserNameTable.XmlAttributeEmail, this.email);
                }

                if (attendeeType != null)
                {
                    attendeeType.Save(writer);
                }
                if (attendeeStatus != null)
                {
                    attendeeStatus.Save(writer);
                }
                if (entryLink != null)
                {
                    entryLink.Save(writer);
                }
                writer.WriteEndElement();
            }
        }