public void NavigateAsync(AppPage menuId) { Page newPage = null; if (!pages.ContainsKey(menuId)) { //only cache specific pages switch (menuId) { case AppPage.Lockers: //lockers pages.Add(menuId, new SealegsNavigationPage(new LockersPage())); break; case AppPage.Feed: //Feed pages.Add(menuId, new SealegsNavigationPage(new FeedPage())); break; case AppPage.Employees: //Employees pages.Add(menuId, new SealegsNavigationPage(new Employees())); break; case AppPage.AddEmployee: // AddEmployee pages.Add(menuId, new SealegsNavigationPage(new AddEmployee())); break; case AppPage.Events: //events pages.Add(menuId, new SealegsNavigationPage(new EventsPage())); break; case AppPage.MiniHacks: //Mini-Hacks newPage = new SealegsNavigationPage(new MiniHacksPage()); break; case AppPage.News: //news newPage = new SealegsNavigationPage(new NewsPage()); break; case AppPage.Evals: //venue newPage = new SealegsNavigationPage(new EvaluationsPage()); break; case AppPage.Venue: //venue newPage = new SealegsNavigationPage(new VenuePage()); break; case AppPage.ConferenceInfo: //Conference info newPage = new SealegsNavigationPage(new ConferenceInformationPage()); break; case AppPage.FloorMap: //Floor Maps newPage = new SealegsNavigationPage(new FloorMapsCarouselPage()); break; case AppPage.Settings: //Settings newPage = new SealegsNavigationPage(new SettingsPage()); break; } } if (newPage == null) { newPage = pages[menuId]; } if (newPage == null) { return; } Detail = newPage; //await Navigation.PushAsync(newPage); }
public async Task NavigateAsync(int menuId) { try { SealegsNavigationPage newPage = null; if (!pages.ContainsKey(menuId)) { //only cache specific pages switch (menuId) { case (int)AppPage.Lockers: //lockers pages.Add(menuId, new SealegsNavigationPage(new LockersPage())); break; case (int)AppPage.Employees: //Employees pages.Add(menuId, new SealegsNavigationPage(new Employees())); break; case (int)AppPage.Feed: //Feed pages.Add(menuId, new SealegsNavigationPage(new FeedPage())); break; case (int)AppPage.Events: //events pages.Add(menuId, new SealegsNavigationPage(new EventsPage())); break; case (int)AppPage.MiniHacks: //Mini-Hacks newPage = new SealegsNavigationPage(new MiniHacksPage()); break; case (int)AppPage.News: //news newPage = new SealegsNavigationPage(new NewsPage()); break; case (int)AppPage.Venue: //venue newPage = new SealegsNavigationPage(new VenuePage()); break; case (int)AppPage.ConferenceInfo: //Conference info newPage = new SealegsNavigationPage(new ConferenceInformationPage()); break; case (int)AppPage.FloorMap: //Floor Maps newPage = new SealegsNavigationPage(new FloorMapsCarouselPage()); break; case (int)AppPage.Settings: //Settings newPage = new SealegsNavigationPage(new SettingsPage()); break; case (int)AppPage.Evals: newPage = new SealegsNavigationPage(new EvaluationsPage()); break; } } if (newPage == null) { newPage = pages[menuId]; } if (newPage == null) { return; } //if we are on the same tab and pressed it again. if (Detail == newPage) { await newPage.Navigation.PopToRootAsync(); } Detail = newPage; } catch (Exception e) { } }