Esempio n. 1
0
 public static int commentCompare(Counting sp1, Counting sp2)
 {
     if (sp1.comment == sp2.comment)
         return 0;
     if (sp1.comment > sp2.comment)
         return -1;
     return 1;
 }
Esempio n. 2
0
 public static int postCompare(Counting sp1, Counting sp2)
 {
     if (sp1.post == sp2.post)
         return 0;
     if (sp1.post > sp2.post)
         return -1;
     return 1;
 }
Esempio n. 3
0
 public static int rateCompare(Counting sp1, Counting sp2)
 {
     if (sp1.rate == sp2.rate)
         return 0;
     if (sp1.rate > sp2.rate)
         return -1;
     return 1;
 }
Esempio n. 4
0
 public static int likedCompare(Counting sp1, Counting sp2)
 {
     if (sp1.liked == sp2.liked)
         return 0;
     if (sp1.liked > sp2.liked)
         return -1;
     return 1;
 }
Esempio n. 5
0
        public static int createdTimeCompare(Counting sp1, Counting sp2)
        {
            if (String.Compare(sp1.createdTime, "") == 0 || String.Compare(sp2.createdTime, "") == 0)
                return 0;
            DateTime date1 = DateTime.ParseExact(sp1.createdTime, "yyyy-MM-dd HH:mm:ss,fff", System.Globalization.CultureInfo.InvariantCulture);
            DateTime date2 = DateTime.ParseExact(sp2.createdTime, "yyyy-MM-dd HH:mm:ss,fff", System.Globalization.CultureInfo.InvariantCulture);

            return DateTime.Compare(date2, date1);
        }
Esempio n. 6
0
        private List<Counting> getUserPostList(dynamic result, ref List<Counting> countingArr)
        {
            if (countingArr == null)
                countingArr = new List<Counting>();

            // dynamic result1 = fbClient.Get("fql", new { q = "SELECT uid FROM user WHERE uid=me()" });

            // while (me.data != null)
            // {
            foreach (var element in result.data)
            {
                if (isGetByDate(element.created_time) == true)
                {
                bool isExit = false;
                for (int i = 0; i < countingArr.Count && isExit == false; i++)
                {
                    //UserPost userPost in members
                    if (String.Compare(countingArr[i].id, element.from.id) == 0)
                    {
                        countingArr[i].post = countingArr[i].post + 1;
                        isExit = true;
                        // break;
                    }
                }
                if (isExit == false)
                {
                    Counting tmp = new Counting(element.from.id, 0, 0, 1, "");
                    countingArr.Add(tmp);
                }
            }
            }
            // me = fbClient.Get(me.paging.next);
            //}

            return countingArr;
        }
Esempio n. 7
0
        private List<Counting> getUserLikedList(dynamic result, ref List<Counting> countingArr)
        {
            if (countingArr == null)
                countingArr = new List<Counting>();

            // dynamic result1 = fbClient.Get("fql", new { q = "SELECT uid FROM user WHERE uid=me()" });

            // while (me.data != null)
            // {
            foreach (var dataNode in result.data)
            {
                if (isGetByDate(dataNode.created_time) == true)
                {
                //Post liked of user
                if (dataNode.likes != null)
                {
                    bool isExit = false;
                    int likeCount = 0;
                    if (dataNode.likes.Count < 25)
                        likeCount = dataNode.likes.Count;
                    else
                    {
                        var fbClient = new Facebook.FacebookClient();
                        fbClient.AccessToken = result.access_token;
                        dynamic resultTmp = dataNode.likes;
                        bool isContinute = true;
                        for (int i = 0; isContinute == true; i = i + 100)
                        {
                            string rq = "https://graph.facebook.com/" + dataNode.id + "/likes?limit=100&offset=" + i;
                            resultTmp = fbClient.Get(rq);
                            if (resultTmp.data != null)
                            {
                                likeCount += resultTmp.data.Count;
                                if (resultTmp.data.Count < 100)
                                    isContinute = false;
                            }
                            else
                                isContinute = false;
                        }
                    }

                    //bool isExit = false;
                    //int likeCount = dataNode.likes.data.Count;
                    //var fbClient = new Facebook.FacebookClient();
                    //fbClient.AccessToken = result.access_token;
                    //dynamic resultTmp = dataNode.likes;
                    //while (resultTmp.paging.next != null)
                    //{
                    //    fbClient = new Facebook.FacebookClient();
                    //    fbClient.AccessToken = result.access_token;
                    //    resultTmp = fbClient.Get(resultTmp.paging.next);
                    //    if (resultTmp.data != null)
                    //        likeCount += resultTmp.data.Count;
                    //}

                    for (int i = 0; i < countingArr.Count && isExit == false; i++)
                    {
                        //UserPost userPost in members
                        if (String.Compare(countingArr[i].id, dataNode.from.id) == 0)
                        {
                            countingArr[i].liked = countingArr[i].liked + likeCount;
                            isExit = true;
                            // break;
                        }
                    }
                    if (isExit == false)
                    {
                        Counting tmp = new Counting(dataNode.from.id, 0, likeCount, 0, "", dataNode.from.name);
                        countingArr.Add(tmp);
                    }
                }
            }

                //Comement liked of User
                if (dataNode.comments != null)
                {

                    dynamic resultTmp = dataNode.comments;

                    //do
                    //{
                    if (dataNode.comments.data.Count < 25)
                    {
                        foreach (var commentNode in resultTmp.data)
                        {
                            if (isGetByDate(commentNode.created_time) == true)
                            {
                            if (commentNode.like_count != 0)
                            {
                                int like_count = (int)commentNode.like_count;
                                bool isExit = false;

                                for (int i = 0; i < countingArr.Count && isExit == false; i++)
                                {
                                    //UserPost userPost in members
                                    if (String.Compare(countingArr[i].id, commentNode.from.id) == 0)
                                    {
                                        countingArr[i].liked = countingArr[i].liked + like_count;
                                        isExit = true;
                                        // break;
                                    }
                                }
                                if (isExit == false)
                                {
                                    Counting tmp = new Counting(commentNode.from.id, 0, like_count, 0, "", dataNode.from.name);
                                    countingArr.Add(tmp);
                                }
                            }
                        }
                        }

                    //    if (resultTmp.paging.next != null)
                    //        resultTmp = fbClient.Get(resultTmp.paging.next);
                    //    else
                    //        resultTmp = null;
                    //} while (resultTmp != null);
                }
                    //if (dataNode.comments.data.Count >= 25)
                else   {
                        bool isContinute = true;
                        for (int i = 0; isContinute == true; i = i + 100)
                        {
                            string rq = "https://graph.facebook.com/" + dataNode.id + "/comments?limit=100&offset=" + i;
                                                var fbClient = new Facebook.FacebookClient();
                    fbClient.AccessToken = result.access_token;
                            resultTmp = fbClient.Get(rq);
                            if (resultTmp.data != null)
                            {
                                if (resultTmp.data.Count < 100)
                                    isContinute = false;
                                foreach (var commentNode in resultTmp.data)
                                {
                                    if (isGetByDate(commentNode.created_time) == true)
                                    {
                                        if (commentNode.like_count != 0)
                                        {
                                            int like_count = (int)commentNode.like_count;
                                            bool isExit = false;

                                            for (int j = 0; j < countingArr.Count && isExit == false; j++)
                                            {
                                                //UserPost userPost in members
                                                if (String.Compare(countingArr[j].id, commentNode.from.id) == 0)
                                                {
                                                    countingArr[j].liked = countingArr[j].liked + like_count;
                                                    isExit = true;
                                                    // break;
                                                }
                                            }
                                            if (isExit == false)
                                            {
                                                Counting tmp = new Counting(commentNode.from.id, 0, like_count, 0, "", dataNode.from.name);
                                                countingArr.Add(tmp);
                                            }
                                        }
                                    }
                                }
                            }
                            else
                                isContinute = false;
                        }
                    }
                }
            }
            // me = fbClient.Get(me.paging.next);
            //}

            return countingArr;
        }
Esempio n. 8
0
        private List<Counting> getPostCommentList(dynamic result, ref List<Counting> countingArr)
        {
            if (countingArr == null)
                countingArr = new List<Counting>();

            // dynamic result1 = fbClient.Get("fql", new { q = "SELECT uid FROM user WHERE uid=me()" });

            // while (me.data != null)
            // {
            foreach (var dataNode in result.data)
            {
                if (isGetByDate(dataNode.created_time) == true)
                {
                if (dataNode.comments != null)
                {
                    //int likeCount = 0;
                    //foreach()
                    bool isExit = false;
                    int commentCount = 0;// dataNode.comments.data.Count;
                    int count = dataNode.comments.data.Count;
                    if (count < 25)
                        commentCount = dataNode.comments.data.Count;
                    else
                    {
                        var fbClient = new Facebook.FacebookClient();
                        fbClient.AccessToken = accessToken;
                        dynamic resultTmp;// = dataNode.comments;
                        bool isContinute = true;
                        for (int i = 0; isContinute == true; i = i + 50)
                        {
                            string rq = "https://graph.facebook.com/" + dataNode.id + "/comments?limit=50&offset=" + i;
                            resultTmp = fbClient.Get(rq);
                            if (resultTmp.data != null)
                            {
                                commentCount += resultTmp.data.Count;
                                if (resultTmp.data.Count < 50)
                                    isContinute = false;
                            }
                            else
                                isContinute = false;

                        }
                    }

                    for (int i = 0; i < countingArr.Count && isExit == false; i++)
                    {
                        //UserPost userPost in members
                        if (String.Compare(countingArr[i].id, dataNode.id) == 0)
                        {
                            countingArr[i].comment = countingArr[i].comment + commentCount;
                            isExit = true;
                            // break;
                        }
                    }
                    if (isExit == false)
                    {
                        Counting tmp = new Counting(dataNode.id, commentCount, 0, 0, dataNode.created_time);
                        countingArr.Add(tmp);
                    }
                }
            }
            }
            // me = fbClient.Get(me.paging.next);
            //}
            //countingArr.Sort(Counting.commentCompare);
            return countingArr;
        }