public ToMessageDialog ( ) : |
||
return |
public MessageDialog ToMessageDialog()
{
string message = string.Empty;
switch (Type)
{
case BeaconActionType.UrlMessage:
case BeaconActionType.VisitWebsite:
message = string.Format("{0}\nVisit {1}?", Body, Url);
break;
case BeaconActionType.InApp:
message = Body;
break;
}
MessageDialog messageDialog = new MessageDialog(message, Subject);
return messageDialog;
}
/// <summary> /// Displays a dialog and a toast notification corresponding to the given beacon action. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void OnBeaconActionResolvedAsync(object sender, BeaconAction e) { await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync( Windows.UI.Core.CoreDispatcherPriority.Normal, async () => { MessageDialog messageDialog = e.ToMessageDialog(); switch (e.Type) { case BeaconActionType.UrlMessage: case BeaconActionType.VisitWebsite: messageDialog.Commands.Add(new UICommand("Yes", new UICommandInvokedHandler(async (command) => { await Windows.System.Launcher.LaunchUriAsync(new Uri(e.Url)); _beaconActionDialogOperation.Cancel(); _beaconActionDialogOperation = null; }))); messageDialog.Commands.Add(new UICommand("No")); _beaconActionDialogOperation = messageDialog.ShowAsync(); break; case BeaconActionType.InApp: await messageDialog.ShowAsync(); break; } }); }