private static void RegisterRepositories(GenericRepositoryFactory store) { store.RegisterSingleton <IMarcaRepository>(m => new Marca()); //TODO store.RegisterSingleton <IModeloRepository>(m => new Modelo(new Marca())); //store.RegisterSingleton<IModeloRepository>(m => new Modelo()); }
public void WhenRepoRegisteredThenGetInstance() { var factory = new GenericRepositoryFactory(); factory.RegisterTransient <IMyRepo>(x => new MyRepo()); var actual = factory.GetRepository <IMyRepo>(); actual.Should().Be.OfType <MyRepo>(); }
public void WhenRepoRegisteredAsSingletonThenGetSameInstance() { var factory = new GenericRepositoryFactory(); factory.RegisterSingleton <IMyRepo>(x => new MyRepo()); var first = factory.GetRepository <IMyRepo>(); var actual = factory.GetRepository <IMyRepo>(); actual.Should().Be.SameInstanceAs(first); }
public static void RegisterAllServices(this SimpleServiceContainer store) { var repoFactory = new GenericRepositoryFactory(store, store); store.RegisterSingleton <IRepositoryFactory>(c => repoFactory); var reports = new ReportsProvider(); store.RegisterSingleton <IReportsProvider>(reports); store.RegisterSingleton <IReportsStore>(reports); RegisterRepositories(repoFactory); }
public void WhenNoRepoRegisteredThenThrow() { var factory = new GenericRepositoryFactory(); factory.Executing(x => x.GetRepository <IMyRepo>()).Throws <ArgumentOutOfRangeException>(); }
public AccountService() { _userManager = new UserManagerFactory().Create(); _repository = GenericRepositoryFactory.Create(); }