示例#1
0
        private void ImgButtonOnClick(ReactionsClickEventArgs e)
        {
            try
            {
                if (!Methods.CheckConnectivity())
                {
                    Toast.MakeText(Application.Context, Application.Context.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                    return;
                }

                if (UserDetails.SoundControl)
                {
                    Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("reaction.mp3");
                }

                PostData.CommentObject.Reaction ??= new WoWonderClient.Classes.Posts.Reaction();

                PostData.CommentObject.Reaction.Count++;

                if (!PostData.CommentObject.Reaction.IsReacted)
                {
                    PostData.CommentObject.Reaction.IsReacted = true;
                }

                var data = MReactionPack[e.Position];
                if (data != null)
                {
                    SetReactionPack(PostData.Holder, data.GetReactText());
                    PostData.Holder.LikeTextView.Tag = "Liked";
                }

                string reactionType = "reaction_comment";
                if (TypeClass == "Reply")
                {
                    reactionType = "reaction_reply";
                }

                if (e.React == ReactConstants.Like)
                {
                    PostData.CommentObject.Reaction.Type = "Like";
                    PostData.CommentObject.Reaction.Like++;
                    PostData.CommentObject.Reaction.Like1++;

                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Like").Value?.Id ?? "1";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.Love)
                {
                    PostData.CommentObject.Reaction.Type = "Love";
                    PostData.CommentObject.Reaction.Love++;
                    PostData.CommentObject.Reaction.Love2++;
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Love").Value?.Id ?? "2";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.HaHa)
                {
                    PostData.CommentObject.Reaction.Type = "HaHa";
                    PostData.CommentObject.Reaction.HaHa++;
                    PostData.CommentObject.Reaction.HaHa3++;
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "HaHa").Value?.Id ?? "3";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.Wow)
                {
                    PostData.CommentObject.Reaction.Type = "Wow";
                    PostData.CommentObject.Reaction.Wow++;
                    PostData.CommentObject.Reaction.Wow4++;
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Wow").Value?.Id ?? "4";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.Sad)
                {
                    PostData.CommentObject.Reaction.Type = "Sad";
                    PostData.CommentObject.Reaction.Sad++;
                    PostData.CommentObject.Reaction.Sad5++;
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Sad").Value?.Id ?? "5";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.Angry)
                {
                    PostData.CommentObject.Reaction.Type = "Angry";
                    PostData.CommentObject.Reaction.Angry++;
                    PostData.CommentObject.Reaction.Angry6++;
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Angry").Value?.Id ?? "6";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }

                MReactAlertDialog.Dismiss();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
        private void ImgButtonOnClick(ReactionsClickEventArgs e)
        {
            try
            {
                if (!Methods.CheckConnectivity())
                {
                    Toast.MakeText(Application.Context, Application.Context.GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short)?.Show();
                    return;
                }

                switch (UserDetails.SoundControl)
                {
                case true:
                    Methods.AudioRecorderAndPlayer.PlayAudioFromAsset("reaction.mp3");
                    break;
                }

                PostData.CommentObject.Reaction ??= new WoWonderClient.Classes.Posts.Reaction();

                if (PostData.CommentObject.Reaction.IsReacted != null && !PostData.CommentObject.Reaction.IsReacted.Value)
                {
                    PostData.CommentObject.Reaction.IsReacted = true;
                    PostData.CommentObject.Reaction.Count++;
                }

                if (PostData.Holder.CountLike != null && PostData.CommentObject.Reaction.Count > 0)
                {
                    PostData.Holder.CountLikeSection.Visibility = ViewStates.Visible;
                    PostData.Holder.CountLike.Text = Methods.FunString.FormatPriceValue(PostData.CommentObject.Reaction.Count);
                }
                else
                {
                    PostData.Holder.CountLikeSection.Visibility = ViewStates.Gone;
                }

                var data = MReactionPack[e.Position];
                if (data != null)
                {
                    SetReactionPack(PostData.Holder, data.GetReactText());
                    PostData.Holder.LikeTextView.Tag = "Liked";
                }

                string reactionType = TypeClass switch
                {
                    "Reply" => "reaction_reply",
                    _ => "reaction_comment"
                };

                if (e.React == ReactConstants.Like)
                {
                    PostData.Holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_like);

                    PostData.CommentObject.Reaction.Type = "1";
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Like").Value?.Id ?? "1";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.Love)
                {
                    PostData.Holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_love);

                    PostData.CommentObject.Reaction.Type = "2";
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Love").Value?.Id ?? "2";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.HaHa)
                {
                    PostData.Holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_haha);

                    PostData.CommentObject.Reaction.Type = "3";
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "HaHa").Value?.Id ?? "3";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.Wow)
                {
                    PostData.Holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_wow);

                    PostData.CommentObject.Reaction.Type = "4";
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Wow").Value?.Id ?? "4";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.Sad)
                {
                    PostData.Holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_sad);

                    PostData.CommentObject.Reaction.Type = "5";
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Sad").Value?.Id ?? "5";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }
                else if (e.React == ReactConstants.Angry)
                {
                    PostData.Holder.ImageCountLike.SetImageResource(Resource.Drawable.emoji_angry);

                    PostData.CommentObject.Reaction.Type = "6";
                    string react = ListUtils.SettingsSiteList?.PostReactionsTypes?.FirstOrDefault(a => a.Value?.Name == "Angry").Value?.Id ?? "6";
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Comment.ReactionCommentAsync(PostData.CommentObject.Id, react, reactionType)
                    });
                }

                MReactAlertDialog.Dismiss();
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }