public static AdjustPowerLevelCommand Create(double delta) { var command = new AdjustPowerLevelCommand { Delta = delta }; return(command); }
public override Task RunTask(int taskId) { Command cmd = null; switch (taskId) { case 0: cmd = new TurnOnCommand(); break; case 1: cmd = new TurnOffCommand(); break; case 2: cmd = new TurnOnCommand(); ConsoleEx.WriteTitleLine("State Time:"); var time = ConsoleEx.ReadNumber(); cmd.SetProperty(MessageProperties.StateTime, time); break; case 3: ConsoleEx.WriteTitleLine("Enter dimmer level [0-100]:"); var level = ConsoleEx.ReadNumber(); cmd = new SetPowerLevelCommand(); ((SetPowerLevelCommand)cmd).PowerLevel = level; break; case 4: ConsoleEx.WriteTitleLine("Adjust Power Level [0-100]:"); var delta = ConsoleEx.ReadNumber(); cmd = new AdjustPowerLevelCommand(); ((AdjustPowerLevelCommand)cmd).Delta = delta; break; } MessageBroker.Send(cmd, Uid); return(Task.CompletedTask); }
protected async Task Handle(AdjustPowerLevelCommand powerLevel) { if (!_PowerLevel.HasValue) { return; } var destinationLevel = _PowerLevel.Value + powerLevel.Delta; if (destinationLevel > 100) { destinationLevel = 100.0; } else if (destinationLevel < 0) { destinationLevel = 0; } await ControlDimmer(destinationLevel); }
protected Task HandleState(AdjustPowerLevelCommand command) { return(Task.CompletedTask); }