HA4IoT.Hardware.RemoteSwitch.LPD433MHzSignalSender.ApiPost C# (CSharp) Method

ApiPost() private method

private ApiPost ( IApiContext apiContext ) : void
apiContext IApiContext
return void
        private void ApiPost(IApiContext apiContext)
        {
            var sequence = apiContext.Request["sequence"].ToObject<JArray>();
            if (sequence.Count == 0)
            {
                return;
            }

            var codeSequence = new LPD433MHzCodeSequence();
            foreach (var item in sequence)
            {
                var code = item.ToObject<JObject>();

                var value = (uint)code["value"];
                var length = (byte)code["length"];
                var repeats = (byte)code["repeats"];

                if (value == 0 || length == 0)
                {
                    throw new InvalidOperationException("Value or length is null.");
                }

                codeSequence.WithCode(new LPD433MHzCode(value, length, repeats));
            }

            Send(codeSequence);
        }