From e71c57108e6dd407c2c6f0361f68150f2ff9aed5 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 十二月 2021 13:41:16 +0800
Subject: [PATCH] 版本备份

---
 HDL_ON/Entity/Function/SecurityAlarm.cs |  282 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 159 insertions(+), 123 deletions(-)

diff --git a/HDL_ON/Entity/Function/SecurityAlarm.cs b/HDL_ON/Entity/Function/SecurityAlarm.cs
index 1ebe9f8..ea29373 100644
--- a/HDL_ON/Entity/Function/SecurityAlarm.cs
+++ b/HDL_ON/Entity/Function/SecurityAlarm.cs
@@ -6,96 +6,14 @@
 
 namespace HDL_ON.Entity
 {
-
-    public class SecurityCenter
-    {
-        static SecurityCenter _securityCenter;
-
-        public static SecurityCenter Ins
-        {
-            get
-            {
-                if (_securityCenter == null)
-                {
-                    _securityCenter = new SecurityCenter();
-                }
-                return _securityCenter;
-            }
-        }
-
-        /// <summary>
-        /// 甯冮槻涓�
-        /// </summary>
-        public bool InDefense
-        {
-            get
-            {
-                foreach (var temp in FunctionList.List.securities)
-                {
-                    if (temp.status == "enable")
-                    {
-                        return true;
-                    }
-                }
-                return false;
-            }
-        }
-
-        /// <summary>
-        /// 鎶ヨ涓�
-        /// </summary>
-        public bool InAlarm
-        {
-            get
-            {
-                foreach (var temp in FunctionList.List.securities)
-                {
-                    if (temp.alarm)
-                    {
-                        return true;
-                    }
-                }
-                return false;
-            }
-        }
-
-        SecurityAlarm _inDefenseMode;
-        /// <summary>
-        /// 褰撳墠甯冮槻妯″紡
-        /// </summary>
-        public SecurityAlarm InDefenseMode
-        {
-            get
-            {
-                if (_inDefenseMode == null)
-                {
-                    foreach (var temp in FunctionList.List.securities)
-                    {
-                        if (temp.status == "enable")
-                        {
-                            _inDefenseMode = temp;
-                            return _inDefenseMode;
-                        }
-                    }
-                }
-                return _inDefenseMode;
-            }
-        }
-
-
-    }
-
-
-
+    /// <summary>
+    /// 
+    /// </summary>
     public class SecurityAlarm
     {
         public SecurityAlarm()
         {
-            pushConfigs.Add(new SecurityPushConfig()
-            {
-                pushMethod = "APP",
-                pushTarget = new List<string>() { UserInfo.Current.ID }
-            });
+          
         }
 
         /// <summary>
@@ -113,7 +31,7 @@
         /// <summary>
         /// 瀹夐槻寤舵椂
         /// </summary>
-        public string delay;
+        public string delay ="0";
         /// <summary>
         /// 鐘舵��
         /// 甯冮槻:enable
@@ -172,6 +90,17 @@
             var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
             FileUtlis.Files.WriteFileByBytes(savePath, ssd);
         }
+        /// <summary>
+        /// 鍒锋柊鏈湴鏁版嵁
+        /// </summary>
+        /// <returns></returns>
+        public SecurityAlarm RefeshData()
+        {
+            var dataBytes = FileUtlis.Files.ReadFile(savePath);
+            var dataString = System.Text.Encoding.UTF8.GetString(dataBytes);
+            var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
+            return temp;
+        }
 
         /// <summary>
         /// 淇濆瓨瀹夐槻淇℃伅
@@ -179,8 +108,22 @@
         public string SaveInfo()
         {
             HttpServerRequest hsr = new HttpServerRequest();
-            this.noticeConfig.enable = true;
-            this.noticeConfig.noticeContent = Language.StringByID(StringId.SecurityAlarmTipString).Replace("{0}", name);
+            if (string.IsNullOrEmpty(this.noticeConfig.noticeContent))
+            {
+                this.noticeConfig.noticeContent = Language.StringByID(StringId.SecurityAlarmTipString).Replace("{0}", name);
+            }
+            if (this.noticeConfig.enable)
+            {
+                if (this.pushConfigs.Count == 0)
+                {
+                    pushConfigs.Add(new SecurityPushConfig()
+                    {
+                        pushMethod = "APP",
+                        pushTarget = new List<string>() { UserInfo.Current.ID }
+                    });
+                }
+            }
+
             if (string.IsNullOrEmpty(sid))
             {
                 NewSid();
@@ -338,16 +281,16 @@
         public List<SecurityInputCondition> condition = new List<SecurityInputCondition>();
 
         /// <summary>
-        /// 鍒ゆ柇鏉′欢
-        /// </summary>
-        public string comparator = "=";
-
-        /// <summary>
         /// 鍔犲叆杈撳叆鏉′欢
         /// 鏈湴鍒ゆ柇浣跨敤
         /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public bool addCondition = false;
+        //[Newtonsoft.Json.JsonIgnore]
+        //public bool addCondition = false;
+
+        /// <summary>
+        /// 鍒ゆ柇鏉′欢
+        /// </summary>
+        public string comparator = "=";
 
         [Newtonsoft.Json.JsonIgnore]
         Function _function = null;
@@ -436,11 +379,11 @@
                 case SPK.SensorSmoke:
                     foreach (var con in condition)
                     {
-                        if (con.value == "true")
+                        if (con.value == "true" || con.value == "alarm")
                         {
                             text += Language.StringByID(StringId.InAlarm) + " ";
                         }
-                        else if (con.value == "false")
+                        else if (con.value == "false" || con.value == "normal")
                         {
                             text += Language.StringByID(StringId.Normal) + " ";
                         }
@@ -462,11 +405,11 @@
                 case SPK.SensorWater:
                     foreach (var con in condition)
                     {
-                        if (con.value == "true")
+                        if (con.value == "true" || con.value == "alarm")
                         {
                             text += Language.StringByID(StringId.WaterLeakage) + " ";
                         }
-                        else if (con.value == "false")
+                        else if (con.value == "false" || con.value == "normal")
                         {
                             text += Language.StringByID(StringId.Normal) + " ";
                         }
@@ -475,11 +418,11 @@
                 case SPK.SensorDoorWindow:
                     foreach (var con in condition)
                     {
-                        if (con.value == "true")
+                        if (con.value == "true" || con.value == "open")
                         {
                             text += Language.StringByID(StringId.Open) + " ";
                         }
-                        else if (con.value == "false")
+                        else if (con.value == "false" || con.value == "close")
                         {
                             text += Language.StringByID(StringId.Close) + " ";
                         }
@@ -527,7 +470,7 @@
         /// 1:鍦烘櫙
         /// 2:鑷姩鍖�
         /// </summary>
-        public string target_type ="0";
+        public string target_type = "0";
         /// <summary>
         /// 杈撳嚭鐩爣鐨剆id
         /// </summary>
@@ -538,25 +481,107 @@
         public List<SecurityOutputStatus> status = new List<SecurityOutputStatus>();
 
         /// <summary>
-        /// 鍔犲叆杈撳叆鏉′欢
-        /// 鏈湴鍒ゆ柇浣跨敤
+        /// 鏈湴涓嶅瓨鍦ㄦ暟鎹紙鏁版嵁鍙兘琚垹浜嗭級
         /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public bool addCondition = false;
-
-        [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;
+            }
         }
 
 
@@ -569,7 +594,7 @@
             string text = "";
             if (target_type == "0")
             {
-                switch (GetFunction().spk)
+                switch (spk)
                 {
                     case SPK.LightDimming:
                     case SPK.LightCCT:
@@ -577,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")
                                 {
@@ -593,7 +629,7 @@
                 }
             }else if(target_type == "1")
             {
-
+                text = Language.StringByID(StringId.Open);
             }
 
             return text;
@@ -617,7 +653,7 @@
         /// <summary>
         /// 鏄惁寮�鍚�氱煡
         /// </summary>
-        public bool enable;
+        public bool enable = true;
         /// <summary>
         /// 閫氱煡鍐呭
         /// </summary>
@@ -634,7 +670,7 @@
         /// APP:app push
         /// SMS:鐭俊
         /// </summary>
-        public string pushMethod;
+        public string pushMethod = "APP";
         /// <summary>
         /// 鎺ㄩ�佺洰鏍�
         /// </summary>

--
Gitblit v1.8.0