//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); } }
//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); } }