public async Task <List <MobilePagesWraper> > GetDataAsync() { List <MobilePagesWraper> objectList = App.Settings.MobilePages ?? new List <MobilePagesWraper>(); if (App.Settings.CurrentUser.IsAdmin) { EbLog.Info($"logged in as [admin], service returning [{objectList.Count}] objects"); return(objectList); } else { EbMobileSettings settings = App.Settings.CurrentApplication.AppSettings; if (settings != null && settings.HasMenuPreloadApi) { if (Utils.HasInternet) { EbLog.Info("Network connection is live and [preload api] connected"); objectList = await GetFromMenuPreload(settings.MenuApi); } else { Utils.Alert_NoInternet(); } } } //filter all pages with respect to current location List <MobilePagesWraper> filter = App.Settings.CurrentUser.FilterByLocation(objectList); return(filter); }
public async void InitNavigation() { EbMobileSettings settings = App.Settings.CurrentApplication?.AppSettings; IMasterPage master; if (settings != null && !string.IsNullOrEmpty(settings.DashBoardRefId)) { EbMobilePage page = EbPageHelper.GetPage(settings.DashBoardRefId); if (page != null && page.Container is EbMobileDashBoard) { master = new DashBoardRender(page); } else { EbLog.Info("Default application dashboard not found, check object permissions"); master = new Home(); } } else { master = new Home(); } master.UpdateMasterLayout(); await Detail.Navigation.PushAsync((Page)master); }