コード例 #1
0
        //Open liked Post user
        public void OnLikedPostClick(LikeNewsFeedClickEventArgs e)
        {
            try
            {
                if (e.NewsFeedClass.Likes > 0)
                {
                    Bundle bundle = new Bundle();
                    bundle.PutString("userinfo", JsonConvert.SerializeObject(e.NewsFeedClass));
                    bundle.PutString("PostId", e.NewsFeedClass.PostId.ToString());

                    LikesPostFragment fragment = new LikesPostFragment
                    {
                        Arguments = bundle
                    };

                    ((HomeActivity)e.View.Context).OpenFragment(fragment);
                }
                else
                {
                    Toast.MakeText(MainContext, MainContext.GetText(Resource.String.Lbl_No_likes_yet), ToastLength.Short).Show();
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
コード例 #2
0
        //Add Like Or Remove
        public void OnLikeNewsFeedClick(LikeNewsFeedClickEventArgs e)
        {
            try
            {
                if (Methods.CheckConnectivity())
                {
                    Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("reaction.mp3");

                    var refs = SetLike(e.LikeButton);
                    e.NewsFeedClass.IsLiked = refs;

                    var likeCount = e.View.FindViewById <TextView>(Resource.Id.Likecount);
                    if (likeCount != null)
                    {
                        string likes = MainContext.GetText(Resource.String.Lbl_Likes);
                        int    count = 0;
                        if (!refs && e.NewsFeedClass.Likes == 0)
                        {
                            e.NewsFeedClass.Likes = 0;
                            likeCount.Text        = "0" + " " + likes;
                        }
                        else if (!refs && e.NewsFeedClass.Likes > 0)
                        {
                            count                 = e.NewsFeedClass.Likes - 1;
                            likeCount.Text        = count + " " + likes;
                            e.NewsFeedClass.Likes = count;
                        }
                        else if (refs)
                        {
                            count                 = e.NewsFeedClass.Likes + 1;
                            likeCount.Text        = count + " " + likes;
                            e.NewsFeedClass.Likes = count;
                        }

                        var list     = ((HomeActivity)MainContext).NewsFeedFragment?.NewsFeedAdapter?.PixelNewsFeedList;
                        var dataPost = list?.FirstOrDefault(a => a.PostId == e.NewsFeedClass.PostId);
                        if (dataPost != null)
                        {
                            dataPost.Likes   = count;
                            dataPost.IsLiked = refs;
                            int index = list.IndexOf(dataPost);
                            //((HomeActivity)MainContext).NewsFeedFragment.NewsFeedAdapter.NotifyItemChanged(index,"like");
                        }
                    }

                    //Sent Api
                    RequestsAsync.Post.AddLikeOrRemove(e.NewsFeedClass.PostId.ToString()).ConfigureAwait(false);
                }
                else
                {
                    Toast.MakeText(MainContext, MainContext.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }