public static void Build() { UnitOfWork = new InMemoryUnitOfWork(); ClientProjections = new ClientProjections(UnitOfWork.Repository); ClientRepository = new ClientRepository(UnitOfWork.Repository); ClientService = new ClientService(ClientRepository, new AccountNumberService(), UnitOfWork); AccountProjections = new AccountProjections(UnitOfWork.Repository); AccountRepository = new AccountRepository(UnitOfWork.Repository); AccountService = new AccountService(AccountRepository, UnitOfWork); ClientPassedAwayHandler = new ClientPassedAwayHandler(AccountRepository, UnitOfWork); SubscribeToEvents(); }
public static void Build() { LogFactory.BuildLogger = type => new ConsoleWindowLogger(type); Repository = new InMemoryRepository(); DocumentStore = new InMemeoryDocumentStore(); DataQuery = Repository as IDataQuery; UnitOfWork = new InMemoryUnitOfWork(Repository); AccountStatusHistoryProjection = new AccountStatusHistoryProjection(Repository); ClientViewProjections = new ClientViewProjections(Repository); ClientRepository = new ClientRepository(DocumentStore); ClientApplicationService = new ClientApplicationService(ClientRepository, UnitOfWork); AccountRepository = new AccountRepository(DocumentStore); AccountNumberService = new AccountNumberService(DataQuery); AccountApplicationService = new AccountApplicationService(AccountRepository, AccountNumberService, UnitOfWork); RegisterCommands(); RegisterViews(); SubscribeToCommands(); RegisterCommandValidators(); SubsribeToEvents(); LookupTables.Register<AccountStatusLookup, AccountStatusType>(Repository); }