コード例 #1
0
        internal REstateMachine(
            IConnectorResolver <TState, TInput> connectorResolver,
            IRepositoryContextFactory <TState, TInput> repositoryContextFactory,
            ICartographer <TState, TInput> cartographer,
            IEnumerable <IEventListener> listeners,
            string machineId)
        {
            _connectorResolver        = connectorResolver;
            _repositoryContextFactory = repositoryContextFactory;
            _listeners = listeners.ToList();

            MachineId = machineId;

            CachedValues = new Lazy <Task <(ISchematic <TState, TInput> schematic, IReadOnlyDictionary <string, string> metadata)> >(
                async() =>
            {
                using (var context = await _repositoryContextFactory.OpenContextAsync(CancellationToken.None)
                                     .ConfigureAwait(false))
                {
                    var machineStatus = await context.Machines.GetMachineStatusAsync(machineId, CancellationToken.None)
                                        .ConfigureAwait(false);

                    return(machineStatus.Schematic,
                           new ReadOnlyDictionary <string, string>(machineStatus.Metadata));
                }
            });
        }
コード例 #2
0
ファイル: StateEngine.cs プロジェクト: psibr/REstate
 public StateEngine(
     IStateMachineFactory <TState, TInput> stateMachineFactory,
     IRepositoryContextFactory <TState, TInput> repositoryContextFactory,
     IConnectorResolver <TState, TInput> connectorResolver,
     IEnumerable <IEventListener> listeners)
 {
     _stateMachineFactory      = stateMachineFactory;
     _repositoryContextFactory = repositoryContextFactory;
     ConnectorResolver         = connectorResolver;
     _listeners = listeners.ToList();
 }
コード例 #3
0
 public REstateMachineFactory(
     IConnectorResolver <TState, TInput> connectorResolver,
     IRepositoryContextFactory <TState, TInput> repositoryContextFactory,
     ICartographer <TState, TInput> cartographer,
     IEnumerable <IEventListener> listeners)
 {
     _connectorResolver        = connectorResolver;
     _repositoryContextFactory = repositoryContextFactory;
     _cartographer             = cartographer;
     _listeners = listeners;
 }
コード例 #4
0
        internal REstateMachine(
            IConnectorResolver <TState, TInput> connectorResolver,
            IRepositoryContextFactory <TState, TInput> repositoryContextFactory,
            ICartographer <TState, TInput> cartographer,
            IEnumerable <IEventListener> listeners,
            string machineId,
            ISchematic <TState, TInput> schematic,
            IReadOnlyDictionary <string, string> metadata)
        {
            _connectorResolver        = connectorResolver;
            _repositoryContextFactory = repositoryContextFactory;
            _metadata  = metadata;
            _listeners = listeners.ToList();

            MachineId = machineId;

            Schematic = schematic;
        }
コード例 #5
0
        internal REstateMachine(
            IConnectorResolver <TState, TInput> connectorResolver,
            IRepositoryContextFactory <TState, TInput> repositoryContextFactory,
            ICartographer <TState, TInput> cartographer,
            IEnumerable <IEventListener> listeners,
            string machineId,
            ISchematic <TState, TInput> schematic,
            IReadOnlyDictionary <string, string> metadata)
        {
            _connectorResolver        = connectorResolver;
            _repositoryContextFactory = repositoryContextFactory;
            _listeners = listeners.ToList();

            MachineId = machineId;

            CachedValues = new Lazy <Task <(ISchematic <TState, TInput> schematic, IReadOnlyDictionary <string, string> metadata)> >(
                () => Task.FromResult((schematic, metadata)));
        }
コード例 #6
0
 public UnsubmitedHolidayRequest(IConnectorResolver connectorResolver)
     : base(connectorResolver)
 {
 }
コード例 #7
0
 public RejectedHolidayRequest(Email email, IConnectorResolver connectorResolver)
     : base(connectorResolver)
 {
     SetRequestInformation(email);
 }
 protected HolidayRequest(IConnectorResolver connectorResolver)
 {
     this.connectorResolver = connectorResolver;
 }
コード例 #9
0
 public NewEmployeeHolidayRequest(Email email, IConnectorResolver connectorResolver)
     : base(connectorResolver)
 {
     SetRequestInformation(email);
 }