private static Tweet ParseTweet(TwitterSearchStatus searchStatus) { return(new Tweet { Id = searchStatus.Id, Text = searchStatus.Text, ProfileImageUrl = searchStatus.ProfileImageUrl, Time = searchStatus.CreatedDate, ScreenName = searchStatus.FromUserScreenName, UserName = searchStatus.FromUserName }); }
public void SetData(TwitterSearchStatus status) { this._status = status; this.ScreenName = status.Author.ScreenName; this.Name = status.FromUserName; this.HasImage = false; SetUserImage(status); SetPicture(status); SetText(status); UpdateTime(); }
public static TwitterStatus SearchToStatus(TwitterSearchStatus search) { TwitterStatus status = new TwitterStatus { User = search.Author as TwitterUser, Text = search.Text, TextAsHtml = search.TextAsHtml, Source = search.Source, Id = search.Id, CreatedDate = search.CreatedDate, Entities = search.Entities }; return status; }
public TweetViewModel(TwitterSearchStatus status) { if (status == null) { return; } this.AuthoerScreenName = new ReactiveProperty<string>(status.Author.ScreenName); this.Text = new ReactiveProperty<string>(StringUtils.Decode(status.Text)); this.CreatedDate = new ReactiveProperty<DateTime>(TimeZoneInfo.ConvertTime(status.CreatedDate, TimeZoneInfo.Local)); this.ProfileImageUrl = new ReactiveProperty<string>(status.Author.ProfileImageUrl); this.Id = new ReactiveProperty<long>(status.Id); this.StatusUri = new ReactiveProperty<Uri>(status.GetStatusUri()); this.Uris = status .Entities .Urls .Select(uri => new TweetUriViewModel(new Uri(uri.Value, UriKind.Absolute))) .ToObservable() .ToReactiveCollection(); }
private void SetPicture(TwitterSearchStatus status) { this.HasImage = false; if (status.Entities == null) return; if (status.Entities.Media.Any()) { var img = new BitmapImage(); img.BeginInit(); img.CreateOptions |= BitmapCreateOptions.IgnoreColorProfile; img.UriSource = new Uri(status.Entities.Media.First().MediaUrl, UriKind.Absolute); img.EndInit(); this.Picture = img; this.HasImage = true; } }
private void SetUserImage(TwitterSearchStatus status) { var img = new BitmapImage(); img.BeginInit(); img.CreateOptions |= BitmapCreateOptions.IgnoreColorProfile; img.UriSource = new Uri(status.Author.ProfileImageUrl, UriKind.Absolute); img.EndInit(); this.UserImage = img; }
private void SetText(TwitterSearchStatus status) { Text.Clear(); Int32 entityIndex = 0; if (status.Entities == null) { Text.Add(new TextSegment { Text = status.Text }); return; } if (status.Entities.Any()) { var entities = status.Entities.OrderBy(x => x.StartIndex); Text.Add(new TextSegment() { Text = WebUtility.HtmlDecode(status.Text.Substring(0, entities.First().StartIndex)) }); foreach (var entity in entities) { Text.Add(new TextSegment { Text = WebUtility.HtmlDecode(status.Text.Substring(entity.StartIndex, entity.EndIndex - entity.StartIndex)), IsHighlighted = true }); entityIndex++; if (entities.Count() > entityIndex) { var nextEntity = entities.ElementAt(entityIndex); var distance = nextEntity.StartIndex - entity.EndIndex; Text.Add(new TextSegment() { Text = WebUtility.HtmlDecode(status.Text.Substring(entity.EndIndex, distance)) }); } else { Text.Add(new TextSegment() { Text = WebUtility.HtmlDecode(status.Text.Substring(entity.EndIndex, status.Text.Length - entity.EndIndex)) }); } } } else { Text.Add(new TextSegment { Text = WebUtility.HtmlDecode(status.Text) }); } }
public static string TwitterAvatar(TwitterSearchStatus status) { return String.Format("<a href=\"http://twitter.com/{0}\" onclick=\"pageTracker._trackPageview('/exit/to/{0}');\" target=\"_blank\"> <img src=\"{1}\"></a>", status.FromUserScreenName, status.ProfileImageUrl); }
public static string TwitterMessage(TwitterSearchStatus status) { return String.Format("<a href=\"http://twitter.com/{0}\" onclick=\"pageTracker._trackPageview('/exit/to/{0}');\" target=\"_blank\">{0}</a>: <span id=\"msgtxt{1}\" class=\"msgtxt en\">{2}</span>", status.FromUserScreenName, status.Id, TwitterfyText(status.Text)); }
public static string TwitterViewTweetLink(TwitterSearchStatus status) { return String.Format("<a href=\"http://twitter.com/{0}/statuses/{1}\" class=\"lit\" onclick=\"pageTracker._trackPageview('/exit/status/{1}');\" target=\"_blank\">View Tweet</a>", status.FromUserScreenName, status.Id); }
public static string TwitterSource(TwitterSearchStatus status) { return HttpUtility.HtmlDecode(status.Source); }
public static string TwitterReplyLink(TwitterSearchStatus status) { return String.Format("<a href=\"http://twitter.com/?status=@{0}%20%23cf360%20&in_reply_to_status_id={1}&in_reply_to={0}\" class=\"litnv\" onclick=\"pageTracker._trackPageview('/exit/reply/{0}');\" target=\"_blank\">Reply</a>", status.FromUserScreenName, status.Id); }
public static string TwitterRelativeTime(TwitterSearchStatus status) { return status.CreatedDate.ToRelativeTime(false); }
private void ShowTweet(TwitterSearchStatus tweet) { if (authorLabel.InvokeRequired) { this.Invoke((MethodInvoker)delegate { authorLabel.Text = "@" + tweet.Author.ScreenName; }); } else { authorLabel.Text = "@" + tweet.Author.ScreenName; } if (tweetLabel.InvokeRequired) { this.Invoke((MethodInvoker)delegate { tweetLabel.Text = tweet.Text; }); } else { tweetLabel.Text = tweet.Text; } if (replyLabel.InvokeRequired) { this.Invoke((MethodInvoker)delegate { replyLabel.Text = "@" + tweet.Author.ScreenName + " " + replyTextBox.Text; }); } else { replyLabel.Text = "@" + tweet.Author.ScreenName + " " + replyTextBox.Text; } if (authorPictureBox.InvokeRequired) { this.Invoke((MethodInvoker)delegate { authorPictureBox.Image = null; }); } else { authorPictureBox.Image = null; } BackgroundWorker pictureBw = new BackgroundWorker(); pictureBw.DoWork += new DoWorkEventHandler(pictureBw_DoWork); pictureBw.RunWorkerAsync(tweet); }