using Model; using FakePersistance; using DataPersistence; using Managers; namespace Views { public partial class App : Application { private Recipe currentRecipe { get; set; } private static IDataManager _dataManager = new DataDefaultManager(new Stubs()); private static IRecipeManager _recipeManager = new RecipeDefaultManager(_dataManager); private static IPasswordManager _passwordManager = new PasswordSHA256Manager(); private static IUserManager _userManager = new UserDefaultManager(_dataManager, _passwordManager); /// /// Master manager - access to the Model. /// public static MasterManager Master { get; private set; } = new MasterManager(_dataManager, _recipeManager, _userManager); /// /// Current selected recipe. /// public Recipe CurrentRecipe { get => currentRecipe; set { currentRecipe = value; OnPropertyChanged(nameof(CurrentRecipe)); } } /// /// Get the current connected user. /// public User? CurrentUser { get; private set; } /// /// Get all the recipes loaded. /// public RecipeCollection AllRecipes { get; set; } public App() { CurrentUser = Master.User.CurrentConnected; AllRecipes = Master.Recipe.GetAllRecipes(); CurrentRecipe = AllRecipes.First(); InitializeComponent(); UserAppTheme = AppTheme.Light; MainPage = new Home(); } } }