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