Beispiel #1
0
        public IFan RegisterFan(IArea area, Enum id, IFanAdapter adapter)
        {
            var fan = new Fan($"{area.Id}.{id}", adapter, _settingsService);

            area.RegisterComponent(fan);
            return(fan);
        }
Beispiel #2
0
        private Fan CreateFan(IFanAdapter adapter)
        {
            var testController  = new TestController();
            var settingsService = testController.GetInstance <ISettingsService>();

            var fan = new Fan("Fan1", adapter, settingsService);

            return(fan);
        }
Beispiel #3
0
        public Fan(string id, IFanAdapter adapter, ISettingsService settingsService) : base(id)
        {
            _adapter         = adapter ?? throw new ArgumentNullException(nameof(adapter));
            _settingsService = settingsService ?? throw new ArgumentNullException(nameof(settingsService));

            _commandExecutor.Register <ResetCommand>(c => ResetState());
            _commandExecutor.Register <TurnOffCommand>(c => SetLevelInternal(0));
            _commandExecutor.Register <TurnOnCommand>(c => SetLevelInternal(GetLevelFeature().DefaultActiveLevel));
            _commandExecutor.Register <SetLevelCommand>(c => SetLevelInternal(c.Level));
            _commandExecutor.Register <IncreaseLevelCommand>(c => SetLevelInternal(_currentLevel + 1));
            _commandExecutor.Register <DecreaseLevelCommand>(c => SetLevelInternal(_currentLevel - 1));
        }