wxr
2021-12-15 e71c57108e6dd407c2c6f0361f68150f2ff9aed5
HDL_ON/Entity/Function/SecurityAlarm.cs
@@ -470,7 +470,7 @@
        /// 1:场景
        /// 2:自动化
        /// </summary>
        public string target_type ="0";
        public string target_type = "0";
        /// <summary>
        /// 输出目标的sid
        /// </summary>
@@ -480,32 +480,108 @@
        /// </summary>
        public List<SecurityOutputStatus> status = new List<SecurityOutputStatus>();
        /// <summary>
        /// 加入输入条件
        /// 本地判断使用
        /// 本地不存在数据(数据可能被删了)
        /// </summary>
        //[Newtonsoft.Json.JsonIgnore]
        //public bool addCondition = false;
        [Newtonsoft.Json.JsonIgnore]
        public string name = "";
        [Newtonsoft.Json.JsonIgnore]
        public string RoomName = "";
        [Newtonsoft.Json.JsonIgnore]
        Function _function = null;
        /// <summary>
        /// 对应的功能对象
        /// </summary>
        /// <returns></returns>
        public Function GetFunction()
        public bool NoLocalData ()
        {
            if (_function == null)
            var function = FunctionList.List.GetLightList().Find((obj) => obj.sid == sid);
            if (function != null)
            {
                _function = FunctionList.List.Functions.Find((obj) => obj.sid == sid);
                return true;
            }
            return _function;
            else
            {
                var scene = FunctionList.List.scenes.Find((obj) => obj.sid == sid);
                if (scene != null)
                {
                    return true;
                }
            }
            return false;
        }
        string _name;
        [Newtonsoft.Json.JsonIgnore]
        public string name
        {
            get
            {
                if (string.IsNullOrEmpty(_name))
                {
                    var function = FunctionList.List.GetLightList().Find((obj) => obj.sid == sid);
                    if (function != null)
                    {
                        _name = function.name;
                    }
                    else
                    {
                        var scene = FunctionList.List.scenes.Find((obj) => obj.sid == sid);
                        if (scene != null)
                        {
                            _name = scene.name;
                        }
                    }
                }
                return _name;
            }
            set
            {
                _name = value;
            }
        }
        string _roomName;
        [Newtonsoft.Json.JsonIgnore]
        public string RoomName
        {
            get
            {
                if (string.IsNullOrEmpty(_roomName))
                {
                    var function = FunctionList.List.GetLightList().Find((obj) => obj.sid == sid);
                    if (function != null)
                    {
                        _roomName = function.GetRoomListName();
                    }
                    else
                    {
                        var scene = FunctionList.List.scenes.Find((obj) => obj.sid == sid);
                        if (scene != null)
                        {
                            _roomName = scene.GetRoomListName();
                        }
                    }
                }
                return _roomName;
            }
            set
            {
                _roomName = value;
            }
        }
        string _spk;
        [Newtonsoft.Json.JsonIgnore]
        public string spk
        {
            get
            {
                if (string.IsNullOrEmpty(_spk))
                {
                    var function = FunctionList.List.GetLightList().Find((obj) => obj.sid == sid);
                    if (function != null)
                    {
                        _spk = function.spk;
                    }
                }
                return _spk;
            }
        }
@@ -518,7 +594,7 @@
            string text = "";
            if (target_type == "0")
            {
                switch (GetFunction().spk)
                switch (spk)
                {
                    case SPK.LightDimming:
                    case SPK.LightCCT:
@@ -526,7 +602,18 @@
                    case SPK.LightSwitch:
                        foreach (var state in status)
                        {
                            if (state.key == FunctionAttributeKey.Brightness)
                            if(state.key == FunctionAttributeKey.OnOff)
                            {
                                if (state.value == "off")
                                {
                                    text = Language.StringByID(StringId.Close);
                                }
                                else
                                {
                                    text = Language.StringByID(StringId.Open);
                                }
                            }
                            else if (state.key == FunctionAttributeKey.Brightness)
                            {
                                if (state.value == "0")
                                {
@@ -583,7 +670,7 @@
        /// APP:app push
        /// SMS:短信
        /// </summary>
        public string pushMethod;
        public string pushMethod = "APP";
        /// <summary>
        /// 推送目标
        /// </summary>