/// <summary> /// Build all the item managers for the module /// </summary> /// <param name="db"></param> /// <param name="itemRepo"></param> /// <returns></returns> List <IModelManager> BuildManagers(IModuleManager moduleManager, EFAccountModuleContext db) { var managers = new List <IModelManager> { new AccountManager(ModuleManager, new EFAccountDataRepo(db)), new AccountCharacterManager(ModuleManager, new EFAccountCharacterDataRepo(db)) }; return(managers); }
/// <summary> /// Constructor /// </summary> public AccountModule( IModuleManager moduleManager) { ModuleManager = moduleManager; var connectionString = ModuleManager.GetConfiguration().GetConnectionString("DefaultConnection"); var dbOptions = new DbContextOptionsBuilder <BaseContext>(); dbOptions.UseSqlServer(connectionString); Db = new EFAccountModuleContext(dbOptions.Options); Managers = BuildManagers(ModuleManager, Db); Repositories = Managers.SelectMany(x => x.GetRepositories()).ToList(); }
/// <summary> /// Constructor /// </summary> /// <param name="db">Entity framework database context</param> public EFAccountDataRepo(EFAccountModuleContext db) : base(db, db.GetDbSet <AccountData>()) { }