/// <summary> /// Saves the current <see cref="IBlogMLCommonObject"/> attributes to the specified <see cref="XmlWriter"/>. /// </summary> /// <param name="source">A object that implements the <see cref="IBlogMLCommonObject"/> interface to extract BlogML common object information from.</param> /// <param name="writer">The <see cref="XmlWriter"/> to which the <paramref name="source"/> information will be written.</param> /// <exception cref="ArgumentNullException">The <paramref name="source"/> is a null reference (Nothing in Visual Basic).</exception> /// <exception cref="ArgumentNullException">The <paramref name="writer"/> is a null reference (Nothing in Visual Basic).</exception> public static void WriteCommonObjectAttributes(IBlogMLCommonObject source, XmlWriter writer) { Guard.ArgumentNotNull(source, "source"); Guard.ArgumentNotNull(writer, "writer"); if (!String.IsNullOrEmpty(source.Id)) { writer.WriteAttributeString("id", source.Id); } if (source.CreatedOn != DateTime.MinValue) { writer.WriteAttributeString("date-created", SyndicationDateTimeUtility.ToRfc3339DateTime(source.CreatedOn)); } if (source.LastModifiedOn != DateTime.MinValue) { writer.WriteAttributeString("date-modified", SyndicationDateTimeUtility.ToRfc3339DateTime(source.LastModifiedOn)); } if (source.ApprovalStatus != BlogMLApprovalStatus.None) { writer.WriteAttributeString("approved", BlogMLUtility.ApprovalStatusAsString(source.ApprovalStatus)); } }