From b822232f0743d22e5bd3847eb993894bf090b214 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 02 七月 2024 15:33:48 +0800
Subject: [PATCH] 备份

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs |  210 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 204 insertions(+), 6 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 2c31124..7d2996e 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -2,6 +2,7 @@
 using Shared;
 using System.Collections.Generic;
 using HDL_ON.Entity;
+using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
 
 
 namespace HDL_ON.UI.UI2.Intelligence.Automation
@@ -737,6 +738,78 @@
                         }
                     }
                     break;
+                //澶у崕鎽勫儚澶�
+                case SPK.IpCam_Imou:
+                    {
+                        LogicView.FunTypeView view = new LogicView.FunTypeView(); 
+                        view.btnText.TextID = StringId.quyuruqingaojing;
+                        view.btnText.Name = Language.StringByID(StringId.shipintonghuahujiao);
+                        fLayout.AddChidren(view.FLayoutView());
+                        view.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            this.identifier = "ipcam_region_alram_event";
+                            this.DeviceView(device, view.btnState, StringId.shi, StringId.offLogic, 1);
+                        };
+
+                        if (edit)
+                        {
+                            this.GetEditState(device, index, view.btnState, null, null, null);
+                        }
+                    }
+                    break;
+                //钀ょ煶瑙嗛闂ㄩ攣
+                case SPK.VideoDoorLock:
+                    {
+                        LogicView.FunTypeView view1 = new LogicView.FunTypeView();
+                        view1.btnText.TextID=StringId.kaimenrenyuan;
+                        view1.btnText.Name = Language.StringByID(StringId.shipinmensuo);
+                        fLayout.AddChidren(view1.FLayoutView());
+                        view1.btnClick.MouseUpEventHandler += (sender, e) =>
+                        {
+                            this.identifier = "open_door";//寮�閿佷簨浠�
+                            this.VideoDoorLockAction(this, device, view1.btnState);
+                        };
+                        if (edit)
+                        {
+                            this.GetEditState(device, index, view1.btnState,null, null, null);
+                        }
+                    }
+                    break;
+                    //鐚溂
+                case SPK.Peephole:
+                    LogicView.FunTypeView viewPeephole = new LogicView.FunTypeView();
+                    viewPeephole.btnText.TextID = StringId.ActivityDetection;
+                    //viewPeephole.btnText.Name = Language.StringByID(StringId.shipinmensuo);
+                    fLayout.AddChidren(viewPeephole.FLayoutView());
+                    viewPeephole.btnClick.MouseUpEventHandler += (sender, e) =>
+                    {
+                        this.identifier = "pir_event";//浜轰綋鎰熷簲鍛婅
+                        this.DeviceView(device, viewPeephole.btnState, StringId.shi, StringId.offLogic, 1);
+
+                    };
+                    if (edit)
+                    {
+                        this.GetEditState(device, index, viewPeephole.btnState, null, null, null);
+                    }
+                    break;
+                    //钀ょ煶鎽勫儚澶�
+                case SPK.Ev_Ipcam:
+                    LogicView.FunTypeView viewEzIpcam = new LogicView.FunTypeView();
+                    viewEzIpcam.btnText.TextID = StringId.ActivityDetection;
+                    //viewEzIpcam.btnText.Name = Language.StringByID(StringId.shipinmensuo);
+                    fLayout.AddChidren(viewEzIpcam.FLayoutView());
+                    viewEzIpcam.btnClick.MouseUpEventHandler += (sender, e) =>
+                    {
+                        this.identifier = Constant.intelligentDetection_event;//浜轰綋鎰熷簲鍛婅
+                        this.DeviceView(device, viewEzIpcam.btnState, StringId.shi, StringId.offLogic, 1);
+
+                    };
+                    if (edit)
+                    {
+                        this.GetEditState(device, index, viewEzIpcam.btnState, null, null, null);
+                    }
+                    break;
+
             }
             #region  淇濆瓨
             ///淇濆瓨View
@@ -775,6 +848,38 @@
                     {
                         inputDevice.condition = new List<Dictionary<string, string>>();
                     }
+                }
+                else if (device.spk == SPK.IpCam_Imou)
+                {
+                    //澶у崕鎽勫儚澶�
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    if (this.identifier == "ipcam_region_alram_event")
+                    {
+                        //condition榛樿[]
+                        inputDevice.condition = new List<Dictionary<string, string>>();
+                    }
+                }
+                else if(device.spk == SPK.Peephole)
+                {
+                    //鐚溂-浜轰綋鎰熷簲鍛婅
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    inputDevice.condition = new List<Dictionary<string, string>>();
+                }
+                else if(device.spk == SPK.Ev_Ipcam)
+                {
+                    //钀ょ煶鎽勫儚澶�-绉诲姩鐩戞祴鍛婅
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    inputDevice.condition = new List<Dictionary<string, string>>();
+                }
+                else if (device.spk == SPK.VideoDoorLock)
+                {
+                    ////钀ょ煶瑙嗛闂ㄩ攣
+                    inputDevice.condition_type = "9";
+                    inputDevice.identifier = this.identifier;
+                    //inputDevice.condition = new List<Dictionary<string, string>>();
                 }
                 else if (device.spk == SPK.SensorPirHold)
                 {
@@ -1190,13 +1295,13 @@
             frame.AddChidren(loading);
             loading.Start();
 
-            new System.Threading.Thread(() =>
+            CommonMethod.Current.SunThread(() =>
             {
                 try
                 {
                     var faceIdList = Send.Current.GetListHomeFace(device.deviceId, true);
 
-                    Application.RunOnMainThread(() =>
+                    CommonMethod.Current.MainThread(() =>
                     {
                         loading.Hide();
                         string stateValue = btnState.Tag == null ? "" : btnState.Tag.ToString();
@@ -1207,7 +1312,7 @@
                          {
                              dicSateteList.Clear();
                              string userNameStr = string.Empty;
-                             string seleUsrIdStr = string.Empty;
+                             string seleUsrIdStr = string.Empty;  
                              string tag = string.Empty;
                              string[] arrayUserIds = new string[indexeList.Count];
                              //寮�闂ㄧ被鍨�
@@ -1245,8 +1350,76 @@
                     });
                 }
 
-            })
-            { IsBackground = true }.Start() ;
+            });
+
+        }
+
+        /// <summary>
+        /// 钀ょ煶瑙嗛闂ㄩ攣涓撶敤
+        /// </summary>
+        /// <param name="frame">褰撳墠鐣岄潰</param>
+        /// <param name="device">褰撳墠璁惧</param>
+        /// <param name="btnState">鏃х姸鎬�</param>
+        public void VideoDoorLockAction(FrameLayout frame, Entity.Function device, Button btnState)
+        {
+            selectedState = device.spk + "_";
+            Loading loading = new Loading();
+            frame.AddChidren(loading);
+            loading.Start();
+            CommonMethod.Current.SunThread(() =>
+            {
+                try
+                {
+                    var faceIdList = Send.Current.GetVideoDoorLockUserListInfo(device);
+                    CommonMethod.Current.MainThread(() =>
+                    {
+
+                        loading.Hide();
+                        string stateValue = btnState.Text == null ? "" : btnState.Text.ToString();
+                        PublicInterface publicInterface = new PublicInterface();
+                        publicInterface.MultiSelectShow(this, faceIdList, device.name, stateValue, (indexeList) =>
+                        {
+                            if (indexeList.Count > 0)
+                            {
+                                dicSateteList.Clear();
+                                string seleTxet = string.Empty;
+                                string tag = string.Empty;
+                                string[] array = new string[indexeList.Count];
+
+                                for (int i = 0; i < indexeList.Count; i++)
+                                {
+                                    if (i > faceIdList.Count)
+                                    {
+                                        continue;
+                                    }
+                                    var indexe = indexeList[i];
+                                    var face = faceIdList[indexe];
+                                    tag += face.userId;
+                                    tag += "_";
+                                    array[i] = face.userName;
+                                }
+                                seleTxet = Newtonsoft.Json.JsonConvert.SerializeObject(array);
+                                //鏁版嵁灏佽<楂樿儨璇磋悿鐭抽偅杈规槸鎺ㄩ�佺敤鎴峰悕>
+                                AddDictionary("open_user",seleTxet, "string", "[]"); 
+                                //鐣岄潰鏄剧ず閫変腑鍊�
+                                btnState.Text = InpOrOutLogicMethod.Current.RemoveLastStr(seleTxet);
+                                btnState.Tag = tag;
+                            }
+
+                        });
+
+                    });
+                }
+                catch { }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        loading.Hide();
+                    });
+                }
+
+            });
 
         }
 
@@ -1306,6 +1479,31 @@
             {
                 //鏈夋暟鎹噸鏂拌祴鍊�
                 dicSateteList.AddRange(dicList);
+            }
+            //浜嬩欢涓撶敤
+            switch (device.spk)
+            {
+                case SPK.IpCam_Imou:
+                    {
+                        if (inputs.identifier == "ipcam_region_alram_event")
+                        {
+                            button1.Text = Language.StringByID(StringId.shi);
+                        }
+
+                    }
+                    break;
+                case SPK.Peephole:
+                    if (inputs.identifier == "pir_event")
+                    {
+                        button1.Text = Language.StringByID(StringId.shi );
+                    }
+                    break;
+                case SPK.Ev_Ipcam:
+                    if (inputs.identifier == Constant.intelligentDetection_event)
+                    {
+                        button1.Text = Language.StringByID(StringId.shi);
+                    }
+                    break;
             }
             InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4, "");
         }
@@ -1429,7 +1627,7 @@
             {
                 return false;
             }
-            if (
+            if (this.function.spk == SPK.VideoDoorLock ||
                this.function.spk == SPK.doorgate
                 )
             {

--
Gitblit v1.8.0