예제 #1
0
        public static string GetBodyText(HNActivity ac)
        {
            switch (ac.payload.type)
            {
            case "MeaningQuestion":
                ac.payload.text = "What does \"" +
                                  ac.payload.keywords[0].name +
                                  "\" mean?";
                break;

            case "ChoiceQuestion":
                ac.payload.text = "Does \"" +
                                  ac.payload.content +
                                  "\" sound natural?";
                break;

            case "DifferenceQuestion":
                ac.payload.text = "What is the difference between \"" +
                                  ac.payload.keywords[0].name +
                                  "\" and \"" +
                                  ac.payload.keywords[1].name +
                                  "\"?";
                // This needs to support more than two options!!!
                break;

            case "WhatsayQuestion":
                ac.payload.text = "How do you say \"" +
                                  ac.payload.keywords[0].name +
                                  "\" in " +
                                  DecodeService.DecodeLanguage((int)ac.payload.language_id) +
                                  "?";
                // Decode language
                break;

            case "ExampleQuestion":
                ac.payload.text = "Please show me example sentences with \"" +
                                  ac.payload.keywords[0].name + "\"";
                // Decode language
                break;

            case "FreeQuestion":
                ac.payload.text = ac.payload.content.ToString();
                // Decode language
                break;

            case "CountryQuestion":
                ac.payload.text = ac.payload.content.ToString();
                // Decode language
                break;
            }
            return(ac.payload.text);
        }
예제 #2
0
        public static void PopToast(HNActivity activity)
        {
            try
            {
                string type = DataService.GetActivityType(activity.payload.activity_type);
                string body = DataService.GetBodyText(activity);

                #region Toast Visual
                ToastVisual visual = new ToastVisual()
                {
                    BindingGeneric = new ToastBindingGeneric()
                    {
                        Children =
                        {
                            new AdaptiveText()
                            {
                                Text = activity.action_user_name +
                                       type + body
                            },
                        },
                        AppLogoOverride = new ToastGenericAppLogo()
                        {
                            Source   = activity.action_user_image_url,
                            HintCrop = ToastGenericAppLogoCrop.Circle
                        },
                    }
                };
                #endregion

                ToastContent toastContent = new ToastContent()
                {
                    Visual         = visual,
                    ActivationType = ToastActivationType.Foreground,
                    Launch         = new QueryString()
                    {
                        { "type", activity.payload.activity_type },
                        { "id", activity.payload.id.ToString() },
                    }.ToString()
                };

                var toast = new ToastNotification(toastContent.GetXml());
                toast.Tag   = activity.id.ToString();
                toast.Group = activity.payload.id.ToString();
                toast.NotificationMirroring = NotificationMirroring.Allowed;
                ToastNotificationManager.CreateToastNotifier().Show(toast);
            }
            catch (Exception)
            {
                LoggerService.LogEvent("Toast_failed");
            }
        }