private bool ContainsSameActionTypeAsControlAction(QueueControl control)
 {
     if (ControlAction is SimpleControlAction)
         return control.SimpleActions.Any(HaveSameNameAsControlAction);
     if (ControlAction is SlidingControlAction)
         return control.SlidingActions.Any(HaveSameNameAsControlAction);
     throw new ArgumentException($"Encountered unknown ControlAction type {ControlAction.GetType()}");
 }
 private QueueControl GetFirstControlWhichSupportsActionOrNull(QueueControl[] controls)
 {
     var control = controls.FirstOrDefault(ContainsSameActionTypeAsControlAction);
     if (control == null)
     {
         LogWarning($"No control could be found that supports the action '{ControlAction.Name}'");
     }
     return control;
 }
Example #3
0
 public QueueItem(QueueControl control, ControlAction action)
 {
     Control = control;
     Action = action;
 }
 private bool DoesDeviceHaveControlInAnActionGroup(
     QueueControl[] controls,
     GroupedActionsToBeQueued[] actionGroups)
 {
     return controls.Any(control => actionGroups.Any(g => g.ActionToBeQueued.Control.ControlId == control.ControlId));
 }
 public ActionToBeQueued(QueueControl control, ControlAction action)
 {
     Control = control;
     Action = action;
 }