Пример #1
0
        protected override void Context()
        {
            _directMessages = new DirectMessageCollection();

            for (int i = 1; i <= _directMessageCount; i++)
            {
                var directMessage = new DirectMessage {
                    Id = i
                };
                _directMessages.Insert(0, directMessage);
            }
        }
Пример #2
0
 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));
     }
 }
Пример #3
0
        protected override void Context()
        {
            _directMessages = new DirectMessageCollection();

            for (int i = 1; i <= _directMessageCount; i++)
            {
                var directMessage = new DirectMessage { Id = i };
                _directMessages.Insert(0, directMessage);
            }
        }
Пример #4
0
        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;
        }
Пример #5
0
        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");
        }
Пример #6
0
        /// <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;
        }