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();
        }
示例#2
0
 public Contact(IContactState state, IContactStateRepository repo) : this(state)
 {
     _repo = repo;
 }
示例#3
0
 public ContactsController(IContactStateRepository productStateRepository)
 {
     _contactStateRepository = productStateRepository;
 }
示例#4
0
 public ContactService(IContactStateRepository repo, IDateTimeProvider dateTimeProvider)
 {
     _repo             = repo;
     _dateTimeProvider = dateTimeProvider;
 }