Esempio n. 1
0
        public ControllerStateManager(IStateController <TStateType> stateController,
                                      IStateMachine <TState> stateMachine,
                                      IStateFactory <TStateType, TState> stateFactory,
                                      IStateValidator <TStateType> validator = null) :
            base(stateMachine, stateFactory, validator)
        {
            _stateController = stateController;

            ObservableExtensions.Subscribe <TStateType>(_stateController.StateObservable.
                                                        Skip(1), ExecuteState).AddTo(_disposables);
        }
Esempio n. 2
0
        public StateManager(
            IStateMachine <TState> stateMachine,
            IStateFactory <TStateType, TState> stateFactory,
            IStateValidator <TStateType> validator = null)
        {
            _disposables = new List <IDisposable>();

            _stateMachine = stateMachine;
            _stateFactory = stateFactory;
            _validator    = validator;
        }
Esempio n. 3
0
        public StatesControllerTests()
        {
            validator = Substitute.For <IStateValidator>();
            service   = Substitute.For <IStateService>();

            state = ObjectFactory.CreateStateView();

            controller = Substitute.ForPartsOf <StatesController>(validator, service);
            controller.ControllerContext = new ControllerContext {
                RouteData = new RouteData()
            };
        }
Esempio n. 4
0
 public AsyncStateManager(IStateController <TStateType> stateController,
                          IAsyncStateMachine stateMachine,
                          IAsyncStateFactory <TStateType> stateFactory,
                          IStateValidator <TStateType> validator = null)
 {
     _stateController      = stateController;
     _stateMachine         = stateMachine;
     _stateFactory         = stateFactory;
     _validator            = validator;
     _controllerDisposable =
         _stateController.StateObservable.
         Skip(1).Subscribe(ExecuteState);
 }
 private static IEnumerable <IValueDescriptor> GetValueDescriptors <TDataValue, TValidateValue, TValue>(IStateValidator <TDataValue, TValue> stateValidator, params IValueValidator <TValidateValue>[] valueDescriptors)
 => valueDescriptors
 .Where(v => !(v is DummyValidator <TValidateValue>))
 .Select(v => v.GetDescriptor())
 .Concat(stateValidator.GetImplicitValueDescriptors());
 private static                          IValueDescriptor[] CombineValueDescriptors <TDataValue, TValidateValue, TValue>(IStateValidator <TDataValue, TValue> stateValidator, params IValueValidator <TValidateValue>[] valueDescriptors)
 => GetValueDescriptors(stateValidator, valueDescriptors).Distinct().ToArray();
 public static DataDescriptor Create <TDataValue, TValidateValue, TSource, TValue>(Mapping <TSource, TValue> mapping, IStateValidator <TDataValue, TValue> stateValidator, params IValueValidator <TValidateValue>[] valueDescriptors)
 => new DataDescriptor(typeof(TValue), stateValidator.GetDescriptor(), CombineValueDescriptors(stateValidator, valueDescriptors), Option.Create(typeof(TSource) != typeof(TValue), mapping.MappingDescriptor));
Esempio n. 8
0
 public MonitoringMiddleware(AppFunc next, IStateValidator stateValidator)
 {
     _next           = next;
     _stateValidator = stateValidator;
 }