public async Task InitRecievedIntentAction(EbNFData payload) { if (payload.Link == null && App.RootMaster == null) { EbLog.Info("Intentaction aborted, link and rootmaster null"); return; } EbNFLink link = payload.Link; try { if (link.LinkType == EbNFLinkTypes.Action) { await ResolveAction(link); } else if (link.LinkType == EbNFLinkTypes.Page) { await ResolveRedirection(link); } } catch (Exception ex) { EbLog.Info("Unknown error at indent action"); EbLog.Error(ex.Message); } }
private async Task ResolveAction(EbNFLink link) { if (link.ActionId != 0) { await App.Navigation.NavigateMasterAsync(new DoAction(link.ActionId)); EbLog.Info("Navigated to action submit : actionid =" + link.ActionId); } else { EbLog.Info("ActionId Empty, Intent action failed"); } }
private async Task ResolveRedirection(EbNFLink link) { if (string.IsNullOrEmpty(link.LinkRefId)) { EbLog.Info("Intentaction link type is page but linkrefid null"); return; } EbMobilePage page = EbPageHelper.GetPage(link.LinkRefId); if (page != null) { EbLog.Info("Intentaction page rendering :" + page.DisplayName); ContentPage renderer = EbPageHelper.GetPageByContainer(page); await App.Navigation.NavigateMasterAsync(renderer); } else { EbLog.Info("Intentaction page not found for linkrefid:" + link.LinkRefId); } }