using SimpleMVVM.Data; using System.Collections.Generic; namespace SimpleMVVM.ViewModels { public class ViewModelLocator { private Dictionary<string, ViewModelBase> modSet; private FakeDatabase dbContext; public ViewModelLocator() { modSet = new Dictionary<string, ViewModelBase>(); dbContext = new FakeDatabase(); InitializeDatabase(); MovieListViewModel movieListViewModel = new MovieListViewModel(dbContext); modSet.Add("MovieListViewModel", movieListViewModel); MovieDetailViewModel movieDetailViewModel = new MovieDetailViewModel(); modSet.Add("MovieDetailViewModel", movieDetailViewModel); } public MovieListViewModel MovieListViewModel { get => (MovieListViewModel)modSet["MovieListViewModel"]; } public MovieDetailViewModel MovieDetailViewModel { get => (MovieDetailViewModel)modSet["MovieDetailViewModel"]; } public async void InitializeDatabase() { await dbContext.LoadMoviesFromFile(); } } }