Exemple #1
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();
        }