public void Tick(Trigger trigger)
        {
            var now = CommonTime.GetTimeOfDay(_dateTime.Now);

            var onOrOff = (now, trigger.TriggerType) switch
            {
                (_, TriggerType.OnButtonPressed) => true,
                (_, TriggerType.OffButtonPressed) => false,
                (CommonTimes.Morning, TriggerType.DoorOpened) => true,
                (CommonTimes.Evening, TriggerType.DoorOpened) => true,
                (CommonTimes.Evening, TriggerType.DoorClosed) => false,
                (CommonTimes.Night, TriggerType.MotionDetected) => true,
                _ => false
            };

            _light.Set(onOrOff);
        }
        public void Tick(Trigger trigger)
        {
            var now   = CommonTime.GetTimeOfDay(DateTime.Now);
            var light = new Light();

            if (trigger.TriggerType == TriggerType.OnButtonPressed)
            {
                light.Set(true);
            }

            if (now == CommonTimes.Morning)
            {
                if (trigger.TriggerType == TriggerType.DoorOpened)
                {
                    light.Set(true);
                }
            }

            if (now == CommonTimes.Evening)
            {
                if (trigger.TriggerType == TriggerType.DoorOpened)
                {
                    light.Set(true);
                }
                else if (trigger.TriggerType == TriggerType.DoorClosed)
                {
                    light.Set(true);
                }
            }

            if (now == CommonTimes.Night)
            {
                if (trigger.TriggerType == TriggerType.MotionDetected)
                {
                    light.Set(true);
                }
            }
        }