1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
using System;
using System.Xml;
namespace FlickrNet
{
/// <summary>
/// Summary description for ActivityEvent.
/// </summary>
public class ActivityEvent
{
private ActivityEventType _type;
private string _userId;
private string _userName;
private DateTime _dateAdded;
private string _content;
/// <summary>
/// THe <see cref="ActivityEventType"/> of the event, either Comment or Note.
/// </summary>
public ActivityEventType EventType
{
get { return _type; }
}
/// <summary>
/// The user id of the user who made the comment or note.
/// </summary>
public string UserId
{
get { return _userId; }
}
/// <summary>
/// The screen name of the user who made the comment or note.
/// </summary>
public string UserName
{
get { return _userName; }
}
/// <summary>
/// The date the note or comment was added.
/// </summary>
public DateTime DateAdded
{
get { return _dateAdded; }
}
/// <summary>
/// The text of the note or comment.
/// </summary>
public string Value
{
get { return _content; }
}
internal ActivityEvent(XmlNode eventNode)
{
XmlNode node;
node = eventNode.Attributes.GetNamedItem("type");
if( node == null )
_type = ActivityEventType.Unknown;
else if( node.Value == "comment" )
_type = ActivityEventType.Comment;
else if( node.Value == "note" )
_type = ActivityEventType.Note;
else if( node.Value == "fave" )
_type = ActivityEventType.Favourite;
else
_type = ActivityEventType.Unknown;
node = eventNode.Attributes.GetNamedItem("user");
if( node != null ) _userId = node.Value;
node = eventNode.Attributes.GetNamedItem("username");
if( node != null ) _userName = node.Value;
node = eventNode.Attributes.GetNamedItem("dateadded");
if( node != null ) _dateAdded = Utils.UnixTimestampToDate(node.Value);
node = eventNode.FirstChild;
if( node != null && node.NodeType == XmlNodeType.Text ) _content = node.Value;
}
}
/// <summary>
/// The type of the <see cref="ActivityEvent"/>.
/// </summary>
public enum ActivityEventType
{
/// <summary>
/// The event type was not specified, or was a new unsupported type.
/// </summary>
Unknown,
/// <summary>
/// The event was a comment.
/// </summary>
Comment,
/// <summary>
/// The event was a note.
/// </summary>
Note,
/// <summary>
/// The event is a favourite.
/// </summary>
Favourite
}
}
|