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();
}
}
#endregion