From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs |  159 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 130 insertions(+), 29 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs
index 03a8f3f..78be6a0 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicCommunalPage.cs
@@ -22,6 +22,7 @@
         {
 
             #region  鏈�涓婇潰鐨勫竷灞�浠g爜
+            UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦
             TopView view = new TopView();
             this.AddChidren(view.TopRowView());
             if (Common.Logic.CurrentLogic.LogicId != 0)
@@ -40,7 +41,7 @@
             var middle = new VerticalScrolViewLayout
             {
                 Y = view.topRowLayout.Bottom,
-                Height = Application.GetRealHeight(1920 - 184 - 180),
+                Height = Application.GetRealHeight(Method.H - 184 - 180),
                 BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
             };
             this.AddChidren(middle);
@@ -127,6 +128,9 @@
                 {
                     SelectedDeviceView selecteddevice = new SelectedDeviceView();
                     selecteddevice.Show(middle);
+                    selecteddevice.stateRow.AddRightView(selecteddevice.edit);
+                    selecteddevice.stateRow.AddRightView(selecteddevice.del);
+
                     var Type = int.Parse(ListConditions[i]["Type"]);
                     var conditions = ListConditions[i];
                     switch (Type)
@@ -135,7 +139,7 @@
                             {
                                 var deviceinof = Method.GetCommonDevice(conditions["MacAddr"], conditions["Epoint"]);
                                 selecteddevice.deviceNameBtn.Visible = true;
-                                selecteddevice.deviceNameBtn.Text = deviceinof.DeviceEpointName;
+                                selecteddevice.deviceNameBtn.Text = LocalDevice.Current.GetDeviceEpointName(deviceinof);
                                 selecteddevice.regionNameBtn.Visible = true;
                                 Method.RoomNmae(selecteddevice.regionNameBtn, deviceinof);
                                 selecteddevice.edit.Tag = i;
@@ -150,7 +154,7 @@
                                                 {
                                                     if (Common.Logic.CurrentLogic.Accounts[a]["UserId"] == conditions["AttriButeData2"])
                                                     {
-                                                        selecteddevice.selecetddevicestateBtn.Text = Common.Logic.CurrentLogic.Accounts[a]["Account"];
+                                                        selecteddevice.selecetddevicestateBtn.Text = Common.Logic.CurrentLogic.Accounts[a]["AccountName"];
                                                         break;
                                                     }
                                                 }
@@ -172,17 +176,18 @@
                     ///鍒犻櫎鎺т欢
                     selecteddevice.del.MouseUpEventHandler += (sender, e) =>
                     {
-                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
+                        var alert = new UserCenter.ShowMsgControl(ShowMsgType.Confirm,
                       Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                       Language.StringByID(MyInternationalizationString.confrim));
                         alert.Show();
                         alert.ConfirmClickEvent += () =>
                         {
                             Common.Logic.CurrentLogic.Conditions.Remove(conditions);
-                            var lockLogicCommunalPage = new LockLogicCommunalPage();
-                            UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
-                            UserView.HomePage.Instance.PageIndex += 1;
-                            lockLogicCommunalPage.Show(() => { });
+                            selecteddevice.selecetdFrameLayout.RemoveFromParent();
+                            //var lockLogicCommunalPage = new LockLogicCommunalPage();
+                            //UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
+                            //UserView.HomePage.Instance.PageIndex += 1;
+                            //lockLogicCommunalPage.Show(() => { });
                         };
                     };
 
@@ -201,10 +206,7 @@
             addactionview.clickBtn.MouseUpEventHandler += (sender, e) =>
             {
                 Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim();
-                var addAction = new AddAction();
-                UserView.HomePage.Instance.AddChidren(addAction);
-                UserView.HomePage.Instance.PageIndex += 1;
-                addAction.Show();
+                Method.View(LogicView.IfString.Action_LockAction, LogicView.IfString.Action_LockScene);
             };
 
             List<Dictionary<string, object>> ListActions = new List<Dictionary<string, object>>();
@@ -218,15 +220,12 @@
                 {
 
                     LogicView.AddDeviceView addflview = new LogicView.AddDeviceView();
-                    addflview.titleBtn.TextID = MyInternationalizationString.selectunlockingmode;
+                    addflview.titleBtn.TextID = MyInternationalizationString.addaction;
                     middle.AddChidren(addflview.AddFl());
                     addflview.clickBtn.MouseUpEventHandler += (sender, e) =>
                     {
                         Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim();
-                        var addAction = new AddAction();
-                        UserView.HomePage.Instance.AddChidren(addAction);
-                        UserView.HomePage.Instance.PageIndex += 1;
-                        addAction.Show();
+                        Method.View(LogicView.IfString.Action_LockAction, LogicView.IfString.Action_LockScene);
                     };
                 }
                 else
@@ -241,11 +240,13 @@
                     string state = "";
                     switch (linkType)
                     {
+                        
                         case 0:
+                        case 8:
                             {
 
                                 var deviceinof = Method.GetCommonDevice(actions["DeviceAddr"].ToString(), actions["Epoint"].ToString());
-                                name = deviceinof.DeviceEpointName;
+                                name =LocalDevice.Current.GetDeviceEpointName(deviceinof);
                                 actiondevice.regionNameBtn.Visible = true;
                                 Method.RoomNmae(actiondevice.regionNameBtn, deviceinof);
 
@@ -489,15 +490,109 @@
                                             }
                                         }
                                         break;
+                                    case DeviceType.DoorLock:
+                                        {
+                                            //闂ㄩ攣鐗规畩
+                                            icon = "ZigeeLogic/doorlock.png";
+                                            if (actions["PassData"].ToString() == "055704010112")
+                                            {
+                                                state = Language.StringByID(MyInternationalizationString.logicopen);
+                                            }
+                                            else
+                                            {
+                                                state = Language.StringByID(MyInternationalizationString.logicclose);
+                                            }
+                                        }
+                                        break;
+                                    case DeviceType.ColorTemperatureLight:
+                                        {
+                                            icon = "ZigeeLogic/nightLight.png";
+                                            var taskList = actions["TaskList"] as List<Dictionary<string, string>>;
+                                            if (taskList == null)
+                                            {
+                                                continue;
+                                            }
+                                            foreach (var tasks in taskList)
+                                            {
+                                                switch (tasks["TaskType"])
+                                                {
+                                                    case "1":
+                                                        {
+                                                            if (tasks["Data1"] == "0")
+                                                            {
+                                                                state += Language.StringByID(MyInternationalizationString.close) + ";";
+                                                            }
+                                                            else
+                                                            {
+                                                                state += Language.StringByID(MyInternationalizationString.open) + ";";
+                                                            }
+                                                        }
+                                                        break;
 
+                                                }
+                                            }
+                                            foreach (var tasks in taskList)
+                                            {
+                                                switch (tasks["TaskType"])
+                                                {
+
+                                                    case "3":
+                                                        {
+                                                            var intvalue = int.Parse(tasks["Data1"]);
+                                                            var lightbrightnessvalue = (intvalue * 100) / 254;
+                                                            state += Language.StringByID(MyInternationalizationString.brightness) + lightbrightnessvalue.ToString() + "%;";
+                                                        }
+                                                        break;
+
+                                                }
+                                            }
+                                            foreach (var tasks in taskList)
+                                            {
+                                                switch (tasks["TaskType"])
+                                                {
+
+                                                    case "7":
+                                                        {
+                                                            if (tasks["Data1"] == "0")
+                                                            {
+                                                                state += Language.StringByID(MyInternationalizationString.buzzer) + Language.StringByID(MyInternationalizationString.close) + ";";
+                                                            }
+                                                            else
+                                                            {
+                                                                state += Language.StringByID(MyInternationalizationString.buzzer) + Language.StringByID(MyInternationalizationString.open) + ";";
+                                                            }
+                                                        }
+                                                        break;
+
+                                                }
+                                            }
+                                            foreach (var tasks in taskList)
+                                            {
+                                                switch (tasks["TaskType"])
+                                                {
+
+                                                    case "8":
+                                                        {
+                                                            var intvalue = int.Parse(tasks["Data1"]);
+                                                            var colorTemperatureValue = 1000000 / (intvalue * 100);
+                                                            state += Language.StringByID(MyInternationalizationString.colorTemperature) + colorTemperatureValue.ToString() + "K";
+                                                        }
+                                                        break;
+                                                }
+                                            }
+
+                                            state = state.TrimEnd(';');//鍘绘帀鏈�鍚庨偅涓�";"
+                                        }
+                                        break;
                                 }
 
 
                             }
                             break;
                         case 2:
-                            {
-                                //鍦ㄦ湰鍦版煡鎵捐鍦烘櫙;
+                            {
+                                actiondevice.edit.Visible = false;//闅愯棌缂栬緫鎸夐挳(鍦烘櫙涓嶉渶瑕佺紪杈�)
+                                //鍦ㄦ湰鍦版煡鎵捐鍦烘櫙;
                                 var sceneinof = UserCenter.HdlSceneLogic.Current.GetSceneUIBySceneId(Convert.ToInt32(actions["DeviceAddr"].ToString()));
                                 //鏈湴娌℃湁瀛樺湪;
                                 if (sceneinof == null)
@@ -531,7 +626,11 @@
                             }
                             break;
                     }
-
+                    if (linkType != 2)
+                    {
+                        actiondevice.stateRow.AddRightView(actiondevice.edit);
+                    }
+                    actiondevice.stateRow.AddRightView(actiondevice.del);
                     //鐘舵��
                     actiondevice.deviceNameBtn.Visible = true;
                     actiondevice.deviceNameBtn.Text = name;
@@ -539,16 +638,18 @@
                     actiondevice.selecetddevicestateBtn.Text = state;
 
                     ///缂栬緫
+                    actiondevice.edit.Tag = i.ToString();
                     actiondevice.edit.MouseUpEventHandler += (sender, e) =>
                     {
                         switch (linkType)
                         {
                             case 0:
+                            case 8:
                                 {
                                     var deviceinof = Method.GetCommonDevice(actions["DeviceAddr"].ToString(), actions["Epoint"].ToString());
                                     var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
                                     this.AddChidren(flMain);
-                                    CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "action_lockaction");
+                                    CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "action_lockaction", int.Parse(actiondevice.edit.Tag.ToString()));
                                 }
                                 break;
 
@@ -559,7 +660,7 @@
                     actiondevice.del.MouseUpEventHandler += (sender, e) =>
                     {
 
-                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
+                        var alert = new UserCenter.ShowMsgControl(ShowMsgType.Confirm,
                              Language.StringByID(MyInternationalizationString.doyouwanttodelete),
                              Language.StringByID(MyInternationalizationString.confrim));
                         alert.Show();
@@ -567,10 +668,11 @@
                         alert.ConfirmClickEvent += () =>
                         {
                             Common.Logic.CurrentLogic.Actions.Remove(actions);
-                            var lockLogicCommunalPage = new LockLogicCommunalPage();
-                            UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
-                            UserView.HomePage.Instance.PageIndex += 1;
-                            lockLogicCommunalPage.Show(() => { });
+                            actiondevice.selecetdFrameLayout.RemoveFromParent();
+                            //var lockLogicCommunalPage = new LockLogicCommunalPage();
+                            //UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
+                            //UserView.HomePage.Instance.PageIndex += 1;
+                            //lockLogicCommunalPage.Show(() => { });
                         };
                     };
 
@@ -583,7 +685,6 @@
             Method.Push(middle);
             #endregion
 
-       
             saveBtn.clickviewBtn.MouseUpEventHandler += (sender, e) =>
            {
                var name = logicTextBox.Text.Trim();
@@ -593,12 +694,12 @@
         }
         public  void AddCondition(int value)
         {
+            Common.Logic.CurrentLogic.LogicName = logicTextBox.Text.Trim();
             var addCondition = new AddCondition();
             addCondition.conditionsIndex = value;
             UserView.HomePage.Instance.AddChidren(addCondition);
             UserView.HomePage.Instance.PageIndex += 1;
             addCondition.Show();
-      
         }
     }
 }

--
Gitblit v1.8.0