using System; using System.Xml; namespace Server.Accounting { public class AccountComment { private string m_AddedBy; private string m_Content; private DateTime m_LastModified; /// /// A string representing who added this comment. /// public string AddedBy { get{ return m_AddedBy; } } /// /// Gets or sets the body of this comment. Setting this value will reset LastModified. /// public string Content { get{ return m_Content; } set{ m_Content = value; m_LastModified = DateTime.Now; } } /// /// The date and time when this account was last modified -or- the comment creation time, if never modified. /// public DateTime LastModified { get{ return m_LastModified; } } /// /// Constructs a new AccountComment instance. /// /// Initial AddedBy value. /// Initial Content value. public AccountComment( string addedBy, string content ) { m_AddedBy = addedBy; m_Content = content; m_LastModified = DateTime.Now; } /// /// Deserializes an AccountComment instance from an xml element. /// /// The XmlElement instance from which to deserialize. public AccountComment( XmlElement node ) { m_AddedBy = Utility.GetAttribute( node, "addedBy", "empty" ); m_LastModified = Utility.GetXMLDateTime( Utility.GetAttribute( node, "lastModified" ), DateTime.Now ); m_Content = Utility.GetText( node, "" ); } /// /// Serializes this AccountComment instance to an XmlTextWriter. /// /// The XmlTextWriter instance from which to serialize. public void Save( XmlTextWriter xml ) { xml.WriteStartElement( "comment" ); xml.WriteAttributeString( "addedBy", m_AddedBy ); xml.WriteAttributeString( "lastModified", XmlConvert.ToString( m_LastModified, XmlDateTimeSerializationMode.Local ) ); xml.WriteString( m_Content ); xml.WriteEndElement(); } } }