}
[DataContract]
- public class Directmessage
- {
- [DataMember(Name = "created_at")] public string CreatedAt;
- [DataMember(Name = "sender_id")] public Int64 SenderId;
- [DataMember(Name = "sender_screen_name")] public string SenderScreenName;
- [DataMember(Name = "sender")] public TwitterUser Sender;
- [DataMember(Name = "id_str")] public string IdStr;
- [DataMember(Name = "recipient")] public TwitterUser Recipient;
- [DataMember(Name = "recipient_screen_name")] public string RecipientScreenName;
- [DataMember(Name = "recipient_id")] public Int64 RecipientId;
- [DataMember(Name = "id")] public Int64 Id;
- [DataMember(Name = "text")] public string Text;
- [DataMember(Name = "entities", IsRequired = false)] public TwitterEntities Entities;
- }
-
- [DataContract]
public class Friendsevent
{
[DataMember(Name = "friends")] public Int64[] Friends;
[DataContract]
public class DirectmessageEvent
{
- [DataMember(Name = "direct_message")] public Directmessage Directmessage;
+ [DataMember(Name = "direct_message")] public TwitterDirectMessage Directmessage;
}
[DataContract]
return MyCommon.CreateDataFromJson<TwitterStatus[]>(json);
}
}
+
+ [DataContract]
+ public class TwitterDirectMessage
+ {
+ [DataMember(Name = "entities", IsRequired = false)]
+ public TwitterEntities Entities { get; set; }
+
+ [DataMember(Name = "created_at")]
+ public string CreatedAt { get; set; }
+
+ [DataMember(Name = "id")]
+ public long Id { get; set; }
+
+ [DataMember(Name = "id_str")]
+ public string IdStr { get; set; }
+
+ [DataMember(Name = "text")]
+ public string Text { get; set; }
+
+ [DataMember(Name = "sender_id")]
+ public long SenderId { get; set; }
+
+ [DataMember(Name = "sender_id_str")]
+ public string SenderIdStr { get; set; }
+
+ [DataMember(Name = "sender_screen_name")]
+ public string SenderScreenName { get; set; }
+
+ [DataMember(Name = "sender", IsRequired = false)]
+ public TwitterUser Sender { get; set; }
+
+ [DataMember(Name = "recipient_id")]
+ public long RecipientId { get; set; }
+
+ [DataMember(Name = "recipient_id_str")]
+ public string RecipientIdStr { get; set; }
+
+ [DataMember(Name = "recipient_screen_name")]
+ public string RecipientScreenName { get; set; }
+
+ [DataMember(Name = "recipient", IsRequired = false)]
+ public TwitterUser Recipient { get; set; }
+
+ /// <exception cref="SerializationException"/>
+ public static TwitterDirectMessage ParseJson(string json)
+ {
+ return MyCommon.CreateDataFromJson<TwitterDirectMessage>(json);
+ }
+
+ /// <exception cref="SerializationException"/>
+ public static TwitterDirectMessage[] ParseJsonArray(string json)
+ {
+ return MyCommon.CreateDataFromJson<TwitterDirectMessage[]>(json);
+ }
+ }
}
var err = this.CheckStatusCode(res, content);
if (err != null) return err;
- TwitterDataModel.Directmessage status;
+ TwitterDirectMessage status;
try
{
- status = MyCommon.CreateDataFromJson<TwitterDataModel.Directmessage>(content);
+ status = TwitterDirectMessage.ParseJson(content);
}
catch(SerializationException ex)
{
private string CreateDirectMessagesFromJson(string content, MyCommon.WORKERTYPE gType, bool read)
{
- List<TwitterDataModel.Directmessage> item;
+ TwitterDirectMessage[] item;
try
{
if (gType == MyCommon.WORKERTYPE.UserStream)
{
var itm = MyCommon.CreateDataFromJson<List<TwitterDataModel.DirectmessageEvent>>(content);
- item = new List<TwitterDataModel.Directmessage>();
- foreach (var dat in itm)
- {
- item.Add(dat.Directmessage);
- }
+ item = itm.Select(x => x.Directmessage).ToArray();
}
else
{
- item = MyCommon.CreateDataFromJson<List<TwitterDataModel.Directmessage>>(content);
+ item = TwitterDirectMessage.ParseJsonArray(content);
}
}
catch(SerializationException ex)