public EventSourceController(ICommandManager commandManager) { _commandManager = commandManager; // set this one to eventsourced for testing // you would normally do this in DI, but we're supporting different // implementations here side-by-side for demonstration purposes _companyStateRepository = new EventSourcedMainRepository(); _companyService = new CompanyService(_companyStateRepository, new DateTimeProvider()); _contactStateRepository = new EventSourcedMainRepository(); _contactService = new ContactService(_contactStateRepository, new DateTimeProvider()); _projectStateRepository = new EventSourcedMainRepository(); _projectService = new ProjectService(_projectStateRepository, new DateTimeProvider()); _productStateRepository = new EventSourcedMainRepository(); _productService = new ProductService(_productStateRepository, new DateTimeProvider()); ConfigureCommandManager(); }
public CompanyService(ICompanyStateRepository repo, IDateTimeProvider dateTimeProvider) { _repo = repo; _dateTimeProvider = dateTimeProvider; }
public Company(ICompanyState state, ICompanyStateRepository repo) : this(state) { _repo = repo; }
public CompaniesController(ICompanyStateRepository companyStateRepository) { _companyStateRepository = companyStateRepository; }