From f2b2a70331d574a345cab0906d4d4b0de48c38b1 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 11 四月 2023 17:02:59 +0800
Subject: [PATCH] 2023年04月11日17:01:15

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs |   98 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 84 insertions(+), 14 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index 58b303f..be9b2c6 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -409,22 +409,48 @@
                                     break;
                                 case SPK.VideoDoorLock:
                                     {
-                                        string value = this.GetValue(dicList);
-                                        inputView.btnState.Text = value;
+                                        string s = string.Empty;
+                                        string tag = string.Empty;
+                                        for (int b = 0; b < dicList.Count; b++)
+                                        {
+                                            var dic = dicList[b];
+                                            var userId = dic["value"].ToString();
+                                            var FaceItem = this.GetVideoDoorLockUserItem(userId, device);
+                                            s += FaceItem.userName;
+                                            s += ",";
+                                            tag += FaceItem.userId;
+                                            tag += "_";
+                                        }
+                                        inputView.btnState.Text = s;
                                     }
                                     break;
                                 case SPK.doorgate:
                                     {
+                                        string s = string.Empty;
                                         if (inputCondition.identifier == "door_call_cloud_event")
                                         {
-                                            inputView.btnState.Text = Language.StringByID(StringId.shipintonghuahujiao);
+                                            s = Language.StringByID(StringId.shipintonghuahujiao);
                                         }
                                         else
                                         {
-                                            string userId = this.GetKeyValue("user_id",dicList);
-                                            var FaceItem = this.GetFaceItem(userId, device.deviceId);
-                                            inputView.btnState.Text = FaceItem.userName;
+                                            for (int b = 0; b < dicList.Count; b++)
+                                            {
+                                                var dic = dicList[b];
+                                                var key = dic["key"].ToString();
+                                                if (key != "user_id")
+                                                {
+                                                    continue;
+                                                }
+                                                var userId = dic["value"].ToString();
+                                                var FaceItem = this.GetFaceItem(userId, device.deviceId);
+                                                s += FaceItem.userName;
+                                                s += ",";
+                                            }
+                                            //string userId = this.GetKeyValue("user_id",dicList);
+                                            //var FaceItem = this.GetFaceItem(userId, device.deviceId);
+                                            //inputView.btnState.Text = FaceItem.userName;
                                         }
+                                        inputView.btnState.Text = s;
                                     }
                                     break;
                                 case SPK.IpCam_Imou:
@@ -1499,7 +1525,7 @@
                 //寮�鍏崇伅鍏�
                 case SPK.AirSwitch:
                 case SPK.LightSwitch:
-                    //鏈烘鎵�
+                //鏈烘鎵�
                 case SPK.MechanicalArm:
                     {
                         foreach (var dic in dicList)
@@ -2139,11 +2165,20 @@
                     break;
                 case SPK.VideoDoorLock:
                     {
-                        foreach (var dic in dicList)
+                        string s = string.Empty;
+                        string tag = string.Empty;
+                        for (int b = 0; b < dicList.Count; b++)
                         {
-                            string value = dic["value"];
-                            button1.Text = value;
+                            var dic = dicList[b];
+                            var userId = dic["value"].ToString();
+                            var FaceItem = this.GetVideoDoorLockUserItem(userId, device);
+                            s += FaceItem.userName;
+                            s += ",";
+                            tag += FaceItem.userId;
+                            tag += "_";
                         }
+                        button1.Text = s;
+                        button1.Tag = tag;
                     }
                     break;
                 case SPK.MusicStandard:
@@ -2164,11 +2199,28 @@
                     break;
                 case SPK.doorgate:
                     {
-                        string value = this.GetKeyValue("user_id", dicList);
-                        button2.Text = this.GetFaceItem(value, device.deviceId).userName;
+                        string s = string.Empty;
+                        string tag = string.Empty;
+                        for (int b = 0; b < dicList.Count; b++)
+                        {
+                            var dic = dicList[b];
+                            var key = dic["key"].ToString();
+                            if (key != "user_id")
+                            {
+                                continue;
+                            }
+                            var userId = dic["value"].ToString();
+                            var FaceItem = this.GetFaceItem(userId, device.deviceId);
+                            s += FaceItem.userName;
+                            s += ",";
+                            tag += FaceItem.userId;
+                            tag += "_";
+                        }
+                        button2.Text = s;
+                        button2.Tag = tag;
                     }
                     break;
-              
+
             }
         }
         /// <summary>
@@ -2635,7 +2687,7 @@
             }
         }
         /// <summary>
-        /// 鏌ユ壘鎸囧畾userId
+        /// 鏌ユ壘鎸囧畾鍙瀵硅userId
         /// </summary>
         /// <param name="userId"></param>
         /// <returns></returns> 
@@ -2652,6 +2704,24 @@
             }
             return face;
         }
+        /// <summary>
+        /// 鏌ユ壘鎸囧畾钀ょ煶瑙嗛闂ㄩ攣userId
+        /// </summary>
+        /// <param name="userId"></param>
+        /// <returns></returns> 
+        public Face GetVideoDoorLockUserItem(string userId, Function device)
+        {
+            if (Send.Current.VideoDoorLockUserListInfo.Count == 0)
+            {
+                Send.Current.GetVideoDoorLockUserListInfo(device);
+            }
+            var face = Send.Current.VideoDoorLockUserListInfo.Find((o) => { return o.userId == userId; });
+            if (face == null)
+            {
+                face = new Face();
+            }
+            return face;
+        }
 
     }
 }

--
Gitblit v1.8.0