コード例 #1
0
ファイル: DalsaeManager.cs プロジェクト: RyuaNerin/Dalsae_WPF
        private void ResponseSingleTweet(ClientTweet tweet, UIProperty property)
        {
            if (tweet == null)
            {
                tweet = new ClientTweet("트윗을 표시할 수 없습니다.");
                return;
            }
            tweet.Init();
            if (DataInstence.isShowTweet(tweet, eTweetPanel.eHome) == false)
            {
                tweet.Init();
                tweet = new ClientTweet("트윗이 뮤트되었습니다.");
            }

            property.AddSingleTweet(tweet, tweet.uiProperty.isQtTweet ? tweet.uiProperty : tweet.uiProperty.parentTweet, false);
        }
コード例 #2
0
ファイル: TweetManager.cs プロジェクト: RyuaNerin/Dalsae_WPF
        //스트리밍에서 호출하게 될 트윗 추가
        public void AddTweet(eTweetPanel panel, ClientTweet tweet)
        {
            lock (lockObject)
            {
                tweet.Init();
                //if (DataInstence.CheckIsMe(tweet.user.id))//내트윗일 경우 작업
                //{
                //	DataInstence.UpdateMyScreenName(tweet.user.screen_name);//아이디 변경 체크
                //	DataInstence.UpdateMyProfilePicture(tweet.user.profile_image_url);//인장 변경 체크
                //}

                if (dicHashs[panel].Contains(tweet.id))
                {
                    return;                                                    //중복 트윗
                }
                if (DataInstence.isShowTweet(tweet, panel) == false)
                {
                    return;                                                                 //트윗 미표시
                }
                bool isShowTweet = true;
                if (panel == eTweetPanel.eHome)
                {
                    if (DataInstence.option.MatchHighlight(tweet.originalTweet.text) || tweet.isMention)                    //하이라이트,멘션 멘션에 추가
                    {
                        AddTweetData(eTweetPanel.eMention, tweet);
                    }
                    else if (DataInstence.CheckIsMe(tweet.originalTweet.user.id) && tweet.retweeted) //내 트윗 체크(리트윗용)
                    {
                        isShowTweet = DataInstence.option.isShowRetweet;                             //리트윗을 TL표시할경우 추가
                        if (isShowTweet && DataInstence.option.isNotiRetweet)                        //리트윗 멘션함에 오게 할 경우 추가
                        {
                            AddTweetData(eTweetPanel.eMention, tweet);
                        }
                        //if (DataInstence.CheckIsMe(tweet.user.id) && tweet.retweeted_status != null)//내가 한 리트윗
                        //	Retweet(tweet, true);
                    }
                }
                if (isShowTweet)
                {
                    AddTweetData(panel, tweet);
                }

                //if (DataInstence.CheckIsMe(tweet.user.id) && tweet.retweeted_status != null)//리트윗 갱신
                //	Retweet(tweet, true);
            }
        }
コード例 #3
0
ファイル: TweetManager.cs プロジェクト: RyuaNerin/Dalsae_WPF
        public void AddTweet(eTweetPanel panel, List <ClientTweet> listTweet, bool isMore)
        {
            if (isMore)                                   //더 불러오기는 순서가 일반과 반대
            {
                for (int i = 0; i < listTweet.Count; i++) //API콜은 역순으로 등록
                {
                    listTweet[i].Init();
                    if (dicHashs[panel].Contains(listTweet[i].id))
                    {
                        continue;                                                               //중복 트윗
                    }
                    if (DataInstence.isShowTweet(listTweet[i], panel) == false)
                    {
                        continue;                                                                            //트윗 미표시
                    }
                    AddTweetData(panel, listTweet[i], isMore);
                }
            }
            else
            {
                if (panel == eTweetPanel.eUser)
                {
                    ClearUserTweet();                                         //유저트윗 초기화
                }
                for (int i = listTweet.Count - 1; i >= 0; i--)                //더 불러오기가 아닌 거
                {
                    listTweet[i].Init();
                    if (dicHashs[panel].Contains(listTweet[i].id))
                    {
                        continue;                                                               //중복 트윗
                    }
                    if (DataInstence.isShowTweet(listTweet[i], panel) == false)
                    {
                        continue;                                                                            //트윗 미표시
                    }
                    AddTweetData(panel, listTweet[i], isMore);
                }
            }

            SortTweet(panel);
        }