protected override void Context() { _directMessages = new DirectMessageCollection(); for (int i = 1; i <= _directMessageCount; i++) { var directMessage = new DirectMessage { Id = i }; _directMessages.Insert(0, directMessage); } }
public ActionResult Save(Bam.Net.Messaging.Data.DirectMessage[] values) { try { DirectMessageCollection saver = new DirectMessageCollection(); saver.AddRange(values); saver.Save(); return(Json(new { Success = true, Message = "", Dao = "" })); } catch (Exception ex) { return(GetErrorResult(ex)); } }
public DirectMessageCollection RetrieveMessages(long? since) { if (!IsLoggedIn()) return null; var messages = new DirectMessageCollection(); ITwitterDirectMessagesReceived request = CreateRequest().DirectMessages().Received(); if (since.HasValue) request = request.Since(since.Value); else request = request.Take(50); foreach (TwitterDirectMessage msg in request.Request().AsDirectMessages()) { var message = new DirectMessage { Id = msg.Id, Text = msg.Text, DateCreated = msg.CreatedDate }; User sender = CreateUser(msg.Sender); message.Sender = sender; User recipient = CurrentlyLoggedInUser; message.Recipient = recipient; messages.Add(message); } ; return messages; }
private void UpdateMessagesInterface(DirectMessageCollection newMessages) { messagesLastUpdated = DateTime.Now; StatusTextBlock.Text = "Messages Updated: " + messagesLastUpdated.ToLongTimeString(); for (int i = newMessages.Count - 1; i >= 0; i--) { DirectMessage message = newMessages[i]; if (!messages.Contains(message)) { messages.Insert(0, message); message.IsNew = true; } else { // update the relativetime for existing messages //messages[i].UpdateRelativeTime(); } } StopStoryboard("Fetching"); }
/// <summary> /// Gets direct messages for the user /// </summary> /// <returns>Collection of direct messages</returns> public DirectMessageCollection RetrieveMessages(string since) { DirectMessageCollection messages = new DirectMessageCollection(); string url = DirectMessagesUrl + Format; if (!string.IsNullOrEmpty(since)) { DateTime sinceDate; DateTime.TryParse(since, out sinceDate); // Go back a minute to compensate for latency. sinceDate = sinceDate.AddMinutes(-1); string sinceDateString = sinceDate.ToString(twitterSinceDateFormat); url += "?since=" + sinceDateString; } HttpWebRequest request = CreateTwitterRequest(url); try { // Get the Response using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { // Get the response stream StreamReader reader = new StreamReader(response.GetResponseStream()); // Load the response data into a XmlDocument XmlDocument doc = new XmlDocument(); doc.Load(reader); // Get statuses with XPath XmlNodeList nodes = doc.SelectNodes("/direct-messages/direct_message"); foreach (XmlNode node in nodes) { DirectMessage message = new DirectMessage(); message.Id = double.Parse(node.SelectSingleNode("id").InnerText); message.Text = HttpUtility.HtmlDecode(node.SelectSingleNode("text").InnerText); string dateString = node.SelectSingleNode("created_at").InnerText; if (!string.IsNullOrEmpty(dateString)) { message.DateCreated = DateTime.ParseExact( dateString, twitterCreatedAtDateFormat, CultureInfo.GetCultureInfoByIetfLanguageTag("en-us"), DateTimeStyles.AllowWhiteSpaces); } XmlNode senderNode = node.SelectSingleNode("sender"); User sender = CreateUser(senderNode); message.Sender = sender; XmlNode recipientNode = node.SelectSingleNode("recipient"); User recipient = CreateUser(recipientNode); message.Recipient = recipient; messages.Add(message); } } } catch (WebException webExcp) { ParseWebException(webExcp); } return messages; }