示例#1
0
        internal async Task HandleMenu(bool isOnline)
        {
            try
            {
                App.UpdateLoading(true);
                await Task.Delay(500);

                Page newRootPage;

                if (isOnline)
                {
                    MenuItemsStack = ((ContentPage)App.MenuPage.Master).FindByName <StackLayout>("ItemsLayout");
                    FirstChild     = MenuItemsStack.Children.FirstOrDefault();
                    MenuItemsStack.Children.RemoveAt(0);
                    MenuItemsStack.Children.Insert(1, FirstChild);
                    newRootPage = new MapPage();
                }
                else
                {
                    MenuItemsStack = ((ContentPage)App.MenuPage.Master).FindByName <StackLayout>("ItemsLayout");
                    FirstChild     = MenuItemsStack.Children.FirstOrDefault();
                    MenuItemsStack.Children.RemoveAt(0);
                    MenuItemsStack.Children.Insert(1, FirstChild);
                    newRootPage = new AvailabiltyPage();
                }

                App.NavPage         = new NavigationPage(newRootPage);
                App.MenuPage.Detail = App.NavPage;
            }
            catch (Exception e)
            {
                // ignored
            }
            finally
            {
                App.UpdateLoading(false);
            }

            #endregion
        }
示例#2
0
文件: App.xaml.cs 项目: ufukhawk/cito
        public App()
        {
            InitializeComponent();
            ValidationFieldList = new ValidationFieldList();
            Device.BeginInvokeOnMainThread(async() => await Location.GetUserLocation());

            Connectivity.CheckConnectionAndDisplayToast();

            if (App.Locator.Prelogin.Settings.IsUserLoggedIn)
            {
                if (App.Locator.Prelogin.Settings.UserType.Equals(UserTypeViewModel.UserTypeOf.Owner.ToString()))
                {
                    var rootPage = new MapPage();
                    App.NavPage  = new NavigationPage(rootPage);
                    App.MenuPage = (MasterDetailPage) new OwnerMenu()
                    {
                        Detail = App.NavPage
                    };
                    App.Current.MainPage = App.MenuPage;
                }
                else
                {
                    var rootPage = new AvailabiltyPage();
                    App.NavPage  = new NavigationPage(rootPage);
                    App.MenuPage = (MasterDetailPage) new WasherMenu()
                    {
                        Detail = App.NavPage
                    };
                    App.Current.MainPage = App.MenuPage;
                }
            }
            else
            {
                InstantiatingPageType = typeof(UserTypePage);
                NavPage  = new NavigationPage(new UserTypePage());
                MainPage = NavPage;
            }
        }