예제 #1
0
 public CommandController(ICommandHandlerFactory commandHandlerFactory, ICommandFactory commandFactory, IViewStore viewStore, IEventBusHubBridge bridge)
 {
     _commandHandlerFactory = commandHandlerFactory;
     _commandFactory        = commandFactory;
     _viewStore             = viewStore;
     _bridge = bridge;
 }
예제 #2
0
 protected virtual void Awake()
 {
     ViewStore     = FindObjectOfType <ViewStore>();
     CameraStore   = FindObjectOfType <CameraStore>();
     BoardStore    = FindObjectOfType <BoardStore>();
     MouseStore    = FindObjectOfType <MouseStore>();
     KeyboardStore = FindObjectOfType <KeyboardStore>();
 }
        /// <summary>
        /// Creates a new instance of the store presenter
        /// </summary>
        /// <param name="view">View to bind to</param>
        public StorePresenter(IViewStore view)
        {
            // Bind to all view events
            _view = view;
            _view.Add += View_Add;
            _view.Get += View_Get;
            _view.GetAll += View_GetAll;
            _view.Remove += View_Remove;
            _view.Edit += View_Edit;
            _view.Update += View_Update;

            // Create new repository
            var sessionFactManager = new SessionFactoryManager();
            SessionContext = new SessionContext(sessionFactManager);

            _storeRepository = new StoreRepository<Store>(SessionContext);
        }
예제 #4
0
 public TestController(
     IViewStore viewStore, ICommandDispatcher commandDispatcher)
 {
     _viewStore         = viewStore;
     _commandDispatcher = commandDispatcher;
 }
예제 #5
0
 public ViewRepository(IViewStore viewStore, ILogger <ViewRepository> logger)
 {
     _viewStore = viewStore ?? throw new ArgumentNullException(nameof(viewStore));
     _logger    = logger ?? throw new ArgumentNullException(nameof(logger));
 }
예제 #6
0
 public ViewController(IViewStore viewStore)
 {
     _viewStore = viewStore;
 }
 public StationListHandler(IViewStore viewStore)
 {
     _viewStore = viewStore ?? throw new ArgumentNullException(nameof(viewStore));
 }
 public ViewFacade(IViewStore viewStore)
 {
     _viewStore = viewStore ?? throw new ArgumentNullException(nameof(viewStore));
 }
예제 #9
0
 internal void AttachToState(ApplicationClient application, ApplicationState applicationState, ICommandQueue commandQueue, IViewStore viewStore)
 {
     _application      = application ?? throw new ArgumentNullException(nameof(application));
     _applicationState = applicationState ?? throw new ArgumentNullException(nameof(applicationState));
     _commandQueue     = commandQueue ?? throw new ArgumentNullException(nameof(commandQueue));
     _viewStore        = viewStore ?? throw new ArgumentNullException(nameof(viewStore));
 }
예제 #10
0
    internal void AttachToApplication(ApplicationClient application, ICommandQueue commandQueue, IViewStore viewStore)
    {
        _application  = application ?? throw new ArgumentNullException(nameof(application));
        _commandQueue = commandQueue ?? throw new ArgumentNullException(nameof(commandQueue));
        _viewStore    = viewStore ?? throw new ArgumentNullException(nameof(viewStore));

        foreach (var action in Actions)
        {
            action.AttachToState(application, this, commandQueue, viewStore);
        }
    }
예제 #11
0
        public ProjectionAgent(ProjectionSchema projectionSchema, IEventStore eventStore, IViewStore viewStore, ILogger <ProjectionAgent> logger)
        {
            _projectionSchema = projectionSchema ?? throw new ArgumentNullException(nameof(projectionSchema));
            _eventStore       = eventStore ?? throw new ArgumentNullException(nameof(eventStore));
            _viewStore        = viewStore ?? throw new ArgumentNullException(nameof(viewStore));
            _logger           = logger ?? throw new ArgumentNullException(nameof(logger));

            foreach (var projectorInfo in _projectionSchema.Projectors)
            {
                foreach (var eventInfo in projectorInfo.Events)
                {
                    _eventStore.ListenEvents(eventInfo, e => ApplyEvent(e));
                    _logger.LogTrace("'{projector}' subscribed to '{event}'", projectorInfo, eventInfo);
                }
            }
        }
예제 #12
0
 protected ApplicationClient(DomainSchema domainSchema, ProjectionSchema projectionSchema, ICommandQueue commandQueue, IViewStore viewStore, ApplicationState homeState)
 {
     Domain        = domainSchema ?? throw new ArgumentNullException(nameof(domainSchema));
     Projection    = projectionSchema ?? throw new ArgumentNullException(nameof(projectionSchema));
     _commandQueue = commandQueue ?? throw new ArgumentNullException(nameof(commandQueue));
     _viewStore    = viewStore ?? throw new ArgumentNullException(nameof(viewStore));
     _currentState = homeState ?? throw new ArgumentNullException(nameof(homeState));
     _currentState.AttachToApplication(this, commandQueue, viewStore);
 }