Exemple #1
0
 public RegistrationSteps(IWebDriver driver)
 {
     UIController.Instance.Driver = driver;
     registrationPage             = Page <RegistrationPage>();
     bookStoreNavigationPage      = Page <BookStoreNavigationPage>();
     loginPage = Page <LoginPage>();
 }
        protected virtual async Task InternalNavigateToAsync(Type viewModelType, object parameter)
        {
            Page page = CreateAndBindPage(viewModelType, parameter);

            if (page is MainView || page is RegistrationView)
            {
                CurrentApplication.MainPage = page;
            }
            else if (page is LoginView)
            {
                CurrentApplication.MainPage = page;
            }
            else if (CurrentApplication.MainPage is MainView)
            {
                var mainPage = CurrentApplication.MainPage as MainView;

                if (mainPage.Detail is BookStoreNavigationPage navigationPage)
                {
                    var currentPage = navigationPage.CurrentPage;

                    if (currentPage.GetType() != page.GetType())
                    {
                        await navigationPage.PushAsync(page);
                    }
                }
                else
                {
                    navigationPage  = new BookStoreNavigationPage(page);
                    mainPage.Detail = navigationPage;
                }

                mainPage.IsPresented = false;
            }
            else
            {
                var navigationPage = CurrentApplication.MainPage as BookStoreNavigationPage;

                if (navigationPage != null)
                {
                    await navigationPage.PushAsync(page);
                }
                else
                {
                    CurrentApplication.MainPage = new BookStoreNavigationPage(page);
                }
            }

            await(page.BindingContext as ViewModelBase).InitializeAsync(parameter);
        }