public async Task NavigateTo(ViewModelLocator viewModelName, IEnumerable <ConstructorParameter> constructorParameters = null) { object viewModel; Page view; switch (viewModelName) { case ViewModelLocator.Login: { viewModel = _container.Resolve <LoginViewModel>(); view = new Login(); break; } case ViewModelLocator.ActionSelection: { viewModel = _container.Resolve <ActionSelectionViewModel>(); view = new ActionSelection(); break; } case ViewModelLocator.FoodExplore: { viewModel = _container.Resolve <FoodExploreViewModel>(); view = new FoodExploreView(); break; } case ViewModelLocator.FoodDetails: { viewModel = _container.Resolve <FoodDetailsViewModel>(GetParameters(constructorParameters)); view = new FoodDetails(); break; } case ViewModelLocator.Payment: { viewModel = _container.Resolve <PaymentViewModel>(GetParameters(constructorParameters)); view = new Payment(); break; } case ViewModelLocator.OrderStatus: { viewModel = _container.Resolve <OrderStatusViewModel>(GetParameters(constructorParameters)); view = new OrderStatus(); break; } case ViewModelLocator.Wallet: { viewModel = _container.Resolve <WalletViewModel>(); view = new Wallet(); break; } case ViewModelLocator.Events: { viewModel = _container.Resolve <CafeteriaEventsViewModel>(); view = new CafeteriaEvents(); break; } case ViewModelLocator.Stats: { viewModel = _container.Resolve <StatsViewModel>(); view = new Stats(); break; } default: { throw new InvalidOperationException(); } } view.BindingContext = viewModel; await Application.Current.MainPage.Navigation.PushAsync(view); }
private void OnAction(ActionSelection winningAction) { m_pendingAction = winningAction.ToString(); }