Exemple #1
0
 public TweetLoader(TwitterResource resource, bool cached)
     : this()
 {
     Resource = resource;
     service = ServiceDispatcher.GetService(resource.User);
     conversationService = new ConversationService(resource.User);
     Cached = cached;
 }
Exemple #2
0
        public void Initialize()
        {
            if (DataTransfer.Status == null)
            {
                MessageService.ShowError(Localization.Resources.ErrorLoadingTweet);
                GoBack();
                return;
            }

            if (DataTransfer.Status.RetweetedStatus != null)
            {
                Tweet = DataTransfer.Status.RetweetedStatus;
                WhoRetweeted = " " + String.Format(Localization.Resources.RetweetBy, DataTransfer.Status.Author.ScreenName);
                HasRetweets = true;
            }
            else
            {
                Tweet = DataTransfer.Status;
                WhoRetweeted = "";
            }

            HdAvatar = String.Format("https://api.twitter.com/1/users/profile_image?screen_name={0}&size=bigger", Tweet.Author.ScreenName);

            HasReplies = (Tweet.InReplyToStatusId != null);
            HasImage = (Tweet.Entities != null && Tweet.Entities.Media.Any());
            IsFavorited = Tweet.IsFavorited;

            var service = new ConversationService(DataTransfer.CurrentAccount);
            service.CheckIfReplied(Tweet, (replied) =>
                {
                    if (replied)
                        HasReplies = true;
                });

            if (Tweet.User == null || Tweet.User.Name == null)
                FillUser();

            UsersWhoRetweeted = new ObservableCollection<ITweeter>();

            ServiceDispatcher.GetDefaultService().Retweets(Tweet.Id, (statuses, response) =>
            {
                if (statuses != null && statuses.Any())
                {
                    HasRetweets = true;
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        foreach (var rt in statuses)
                            UsersWhoRetweeted.Add(rt.Author);
                    });
                }
            });

            CreateCommands();

            SetImage();
        }
Exemple #3
0
 private void GetReplies()
 {
     var convService = new ConversationService(DataTransfer.CurrentAccount);
     convService.Finished += (sender, e) => IsLoading = false;
     convService.GetConversationForStatus(Tweet, (statuses, response) =>
     {
         if (statuses != null)
         {
             var statuses_noRepeat = statuses.Cast<ITweetable>().Except(Replies).ToList();
             foreach (var status in statuses_noRepeat)
                 Replies.Add(status);
         }
     });
 }