public async Task InitilizeAsync() { // "Idle.DataAccess" var languageImageProvider = new ImagesProvider(); var languagesFactory = new LanguagesFactory(languageImageProvider); var languageMigrator = new LanguageMigrator(languagesFactory); await languageMigrator.MigrateAsync(); var languagesRepository = new LanguagesRepository(); // "Idle.Services" var navigation = new Lazy <INavigation>(() => Application.Current.MainPage.Navigation); var navigationService = new NavigationService(navigation); // "Idle.Logic" and "Idle.Views" var mainPage = SetBindingContext(new MainPage(), new MainPageViewModel(navigationService)); navigationService.Register <MainPageViewModel>(() => mainPage); navigationService.Register <LanguagesViewModel>(() => SetBindingContext(new LanguagesPage(), new LanguagesViewModel(languagesRepository))); navigationService.Register <LanguageMarketViewModel>(() => SetBindingContext(new LanguageMarket(), new LanguageMarketViewModel(languagesRepository))); // Idle.Views MainPage = new NavigationPage(mainPage); }
private (LanguageMigrator Migrator, SQLiteAsyncConnection Connection) Setup() { var imagesProvider = new ImagesProvider(); var langagesFactory = new LanguagesFactory(imagesProvider); var connection = new SQLiteAsyncConnection(":memory:"); var migrator = new LanguageMigrator(langagesFactory, connection); return(migrator, connection); }
private async Task <LanguagesRepository> SetupAsync() { var connection = new SQLiteAsyncConnection(":memory:"); var imagesProvider = new ImagesProvider(); var languagesFactory = new LanguagesFactory(imagesProvider); var migrator = new LanguageMigrator(languagesFactory, connection); await migrator.MigrateAsync(); var repo = new LanguagesRepository(connection); return(repo); }