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);
        }
예제 #2
0
        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);
        }