예제 #1
0
        void AddAlarmTriggerEvent(EventModel eventModel)
        {
            AlarmTriggerEvents.Insert(0, eventModel);

            if (AlarmTriggerEvents.Count > 100)
            {
                AlarmTriggerEvents.RemoveAt(AlarmTriggerEvents.Count - 1);
            }
        }
예제 #2
0
        public UIWebResponse HandleWebRequest(UIWebRequest request)
        {
            if (request.AlarmOn != null)
            {
                IsAlarmEnabled = request.AlarmOn.Value;
            }

            if (request.SirenOn != null)
            {
                if (request.SirenOn.Value)
                {
                    System.Diagnostics.Debug.WriteLine("UIWebRequest.SirenOn");
                }
                else
                {
                    StopAlarmSound();
                }
            }

            if (request.Sector0TriggerEnabled != null)
            {
                Sector0.AlarmTriggerEnabled = request.Sector0TriggerEnabled.Value;
            }

            var alarmTriggerEvents = AlarmTriggerEvents.Take(10).Select(model =>
            {
                return(new UIWebResponseEvent()
                {
                    Description = model.Description
                });
            }).ToList();

            return(new UIWebResponse()
            {
                AlarmOn = IsAlarmEnabled,
                Sector0TriggerEnabled = Sector0.AlarmTriggerEnabled,
                Sector0Value = Sector0.LongValue,
                Movement0Value = Movement0.LongValue,
                RssiValue = Rssi.LongValue,
                SirenOn = IsAlarmActive,
                ClientsConnected = clients.Count,
                AlarmTriggerEvents = alarmTriggerEvents
            });
        }