示例#1
0
        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());
        }
示例#4
0
        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())
            });
        }