Skip to content

Instantly share code, notes, and snippets.

@andy51002000
Last active October 21, 2017 09:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andy51002000/ceb21e6dde2f33007e47c883c89cdd13 to your computer and use it in GitHub Desktop.
Save andy51002000/ceb21e6dde2f33007e47c883c89cdd13 to your computer and use it in GitHub Desktop.
A class that provides the instance of ViewModel and inject db context into ViewModel
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);
}
public MovieListViewModel MovieListViewModel
{
get => (MovieListViewModel)modSet["MovieListViewModel"];
}
public async void InitializeDatabase()
{
await dbContext.LoadMoviesFromFile();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment