コード例 #1
0
ファイル: FeedbackFragment.cs プロジェクト: karabatov/mobile
        private async void OnSendClick (object sender, EventArgs e)
        {
            IsSendingFeedback = true;

            var mood = FeedbackMessage.Mood.Neutral;
            if (UserRating == ratingPositive) {
                mood = FeedbackMessage.Mood.Positive;
            } else if (UserRating == ratingNegative) {
                mood = FeedbackMessage.Mood.Negative;
            }

            var msg = new FeedbackMessage () {
                CurrentMood = mood,
                Message = UserMessage,
            };
            var sent = await msg.Send ();
           
            if (sent) {
                if (userRating == ratingPositive) {
                    AskPublishToAppStore.Show (UserMessage, FragmentManager);
                } else {
                    ThankForFeedbackDialog.Show (FragmentManager);
                }
                ResetForm ();
            } else {
                var ctx = ServiceContainer.Resolve<Context> ();
                var toast = Toast.MakeText (ctx, Resource.String.FeedbackSendFailedText, ToastLength.Long);
                toast.Show ();
            }
            IsSendingFeedback = false;
        }
コード例 #2
0
        private async void SendMessage ()
        {
            isSending = true;
            View.UserInteractionEnabled = false;
            RebindSendButton ();

            try {
                var msg = new FeedbackMessage () {
                    CurrentMood = userMood.Value,
                    Message = messageTextView.Text,
                };

                var sent = await msg.Send ();
                if (sent) {
                    var appStoreUrl = new NSUrl (Build.AppStoreUrl);
                    var askReview = userMood == FeedbackMessage.Mood.Positive && UIApplication.SharedApplication.CanOpenUrl (appStoreUrl);
                    var userMessage = messageTextView.Text;

                    // Reset state before showing alert.
                    userMood = null;
                    messageTextView.Text = String.Empty;
                    RebindMoodButtons ();

                    if (askReview) {
                        var alert = new UIAlertView (
                                        "FeedbackReviewTitle".Tr (),
                                        "FeedbackReviewMessage".Tr (),
                                        null,
                                        "FeedbackReviewCancel".Tr (),
                                        "FeedbackReviewAppStore".Tr ());
                        alert.Clicked += (sender, e) => {
                            if (e.ButtonIndex == 1) {
                                UIPasteboard.General.String = userMessage;
                                UIApplication.SharedApplication.OpenUrl (appStoreUrl);
                            }
                        };
                        alert.Show ();
                    } else {
                        new UIAlertView (
                            "FeedbackSuccessTitle".Tr (),
                            "FeedbackSuccessMessage".Tr (),
                            null,
                            "FeedbackSuccessOk".Tr ()).Show ();
                    }
                } else {
                    new UIAlertView (
                        "FeedbackFailureTitle".Tr (),
                        "FeedbackFailureMessage".Tr (),
                        null,
                        "FeedbackFailureOk".Tr ()).Show ();
                }
            } finally {
                isSending = false;
                View.UserInteractionEnabled = true;
                RebindSendButton ();
            }
        }