public override bool Match(string psStatusMessage) { string lsMatchToken = "SLI"; switch (Zone.CurrentZone) { case EZone.Zone2: lsMatchToken = "SLZ"; break; case EZone.Zone3: lsMatchToken = "SL3"; break; case EZone.Zone4: lsMatchToken = "SL4"; break; } var loMatch = Regex.Match(psStatusMessage, @"!1{0}(\w\w)".FormatWith(lsMatchToken)); if (loMatch.Success) { this.CurrentInputSelector = loMatch.Groups[1].Value.ConvertHexValueToInt().ToEnum <EInputSelector>(); return(true); } return(false); }
public IHttpActionResult SetEnum([FromUri] EInputSelector selector) { var loConnection = ContainerAccessor.Container.Resolve <IConnection>(); loConnection.SendCommand(ISCP.Command.InputSelector.Chose(selector, loConnection.CurrentDevice)); return(Ok()); }
public IHttpActionResult Set([FromUri] string selector) { var loConnection = ContainerAccessor.Container.Resolve <IConnection>(); EInputSelector leInputSelector = selector.ToEnum <EInputSelector>(); loConnection.SendCommand(ISCP.Command.InputSelector.Chose(leInputSelector, loConnection.CurrentDevice)); return(Ok()); }
public static InputSelector Chose(EInputSelector peInputSelector) { string lsCommandMessage = "SLI{0}"; switch (Zone.CurrentZone) { case EZone.Zone2: lsCommandMessage = "SLZ{0}"; break; case EZone.Zone3: lsCommandMessage = "SL3{0}"; break; case EZone.Zone4: lsCommandMessage = "SL4{0}"; break; } return(new InputSelector() { CommandMessage = lsCommandMessage.FormatWith(((int)peInputSelector).ConverIntValueToHexString()) }); }