From d6b4e510f1430d19bc48da6894cf707bbe3c226d Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 29 十月 2019 14:25:15 +0800
Subject: [PATCH] 2019.10.29-2

---
 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs |  244 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 244 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs
new file mode 100755
index 0000000..8870208
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs
@@ -0,0 +1,244 @@
+锘縰sing System;
+using Shared;
+using Shared.Common;
+using Shared.R;
+
+namespace Shared.Phone.Device.Logic.DoorLockLogic
+{
+    public class LockLogicList : FrameLayout
+    {
+
+        public LockLogicList()
+        {
+            Tag = "LockLogicList";
+        }
+        VerticalScrolViewLayout middle;
+        public async void Show()
+        {
+
+            #region  鏈�涓婇潰鐨勫竷灞�浠g爜
+            var topRowLayout = new RowLayout
+            {
+                BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor,
+                Height = Application.GetRealHeight(184),
+                LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor,
+            };
+            this.AddChidren(topRowLayout);
+
+            var titleName = new Button
+            {
+                TextSize = 16,
+                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                X = Application.GetRealWidth(176),
+                Width = Application.GetRealWidth(400),
+                Height = Application.GetRealHeight(69),
+                Y = Application.GetRealHeight(92),
+                TextID = MyInternationalizationString.linkageevent,
+            };
+            topRowLayout.AddChidren(titleName);
+
+            var clickBtn = new Button
+            {
+                Width = Application.GetRealWidth(81 + 51),
+                Height = Application.GetRealHeight(58 + 40),
+                Y = Application.GetRealHeight(98 - 40),
+            };
+            topRowLayout.AddChidren(clickBtn);
+            clickBtn.MouseDownEventHandler += (sender, e) =>
+            {
+                RemoveFromParent();
+            };
+
+            var back = new Button
+            {
+                Width = Application.GetRealWidth(30),
+                Height = Application.GetRealHeight(51),
+                X = Application.GetRealWidth(81),
+                Y = Application.GetRealHeight(98),
+                //Gravity = Gravity.CenterVertical;
+                UnSelectedImagePath = "ZigeeLogic/back.png",
+            };
+            topRowLayout.AddChidren(back);
+            back.MouseDownEventHandler += (sender, e) =>
+            {
+                RemoveFromParent();
+            };
+
+            var addiocn = new Button
+            {
+                Width = Application.GetRealWidth(72),
+                Height = Application.GetRealHeight(72),
+                X = Application.GetRealWidth(1080 - 108 - 58),
+                UnSelectedImagePath = "ZigeeLogic/lockadd.png",
+                Y = Application.GetRealHeight(184 - 72 - 20),
+            };
+            topRowLayout.AddChidren(addiocn);
+            addiocn.MouseUpEventHandler += (sender, e) =>
+            {
+                //new涓�涓柊閫昏緫瀵硅薄锛�
+                Common.Logic.CurrentLogic = new Common.Logic();
+                Common.Logic.CurrentLogic.IsEnable = 1;//榛樿涓哄紑
+                Common.Logic.CurrentLogic.LogicType = 1;
+                Common.Logic.CurrentLogic.Relationship = 1;
+                //Config.Instance.Guid鐢ㄦ潵璇嗗埆璐﹀彿韬唤锛�
+                var accounts = new System.Collections.Generic.Dictionary<string, string>();
+                accounts.Add("Account", Config.Instance.Guid);
+                Common.Logic.CurrentLogic.Accounts.Add(accounts);
+                Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1);
+                var lockLogicCommunalPage = new LockLogicCommunalPage();
+                UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
+                UserView.HomePage.Instance.PageIndex += 1;
+                lockLogicCommunalPage.Show(() => { });
+            };
+            #endregion
+
+            middle = new VerticalScrolViewLayout
+            {
+                Y = topRowLayout.Bottom,
+                Height = Application.GetRealHeight(1920 - 184),
+                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
+            };
+            this.AddChidren(middle);
+
+            CommonPage.Loading.Start();
+            if (Common.Logic.LockLogicList.Count == 0)
+            {
+                var Idlist = await Send.GetLogicId(1);
+                if (Idlist.Count != 0)
+                {
+                    var listlogic = await Send.ReadList(Idlist.Count, 1);
+                    //foreach鍙兘闆嗗悎宸茶淇敼,鏋氫妇鎿嶄綔鍙兘涓嶄細鎵ц,鍙兘鍑虹幇宕╂簝(寤鸿for)銆�
+                    for (int j = 0; j < listlogic.Count; j++)
+                    {
+                        var logic = listlogic[j];
+                        if (logic.LogicType == 0)
+                        {
+                            continue;
+                        }
+                        bool yes = false;
+                        for (int a = 0; a < logic.Accounts.Count; a++)
+                        {
+                            if (logic.Accounts[a]["Account"].ToString() == Config.Instance.Guid)
+                            {
+                                //鏌ユ壘鑷繁璐﹀彿涓嬬殑鍒涘缓鑱斿姩浜嬩欢锛�
+                                yes = true;
+                                break;
+                            }
+                        }
+                        if (yes)
+                        {
+                            Common.Logic.LockLogicList.Add(listlogic[j]);
+                        }
+                    }
+                }
+            }
+            //鑷姩鍖�
+            Automationview();
+            CommonPage.Loading.Hide();
+        }
+
+        void Automationview()
+        {
+            middle.RemoveAll();
+            for (int i = 0; i < Common.Logic.LockLogicList.Count; i++)
+            {
+                var logic = Common.Logic.LockLogicList[i];
+                var logicRowlayout = new RowLayout
+                {
+                    Width = Application.GetRealWidth(1080),
+                    Height = Application.GetRealHeight(190),
+                    LineColor = ZigbeeColor.Current.LogicBackgroundColor,
+                    BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
+
+                };
+                middle.AddChidren(logicRowlayout);
+
+                var logicnameBtn = new Button
+                {
+                    Height = Application.GetRealHeight(190),
+                    Width = Application.GetRealWidth(600),
+                    Text = logic.LogicName,
+                    X = Application.GetRealWidth(58),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                    Gravity = Gravity.CenterVertical,
+                };
+                logicRowlayout.AddChidren(logicnameBtn);
+
+
+                var logicswitchBtn = new Button
+                {
+                    Width = Application.GetMinRealAverage(104),
+                    Height = Application.GetMinRealAverage(63),
+                    UnSelectedImagePath = "ZigeeLogic/logicclose.png",
+                    SelectedImagePath = "ZigeeLogic/logicopen.png",
+                    X = logicRowlayout.Width - Application.GetRealWidth(104 + 58),
+                    Gravity = Gravity.CenterVertical,
+                };
+                logicRowlayout.AddChidren(logicswitchBtn);
+
+                logicswitchBtn.MouseUpEventHandler += (sender, e) =>
+                {
+                    logicswitchBtn.IsSelected = !logicswitchBtn.IsSelected;
+                    if (logicswitchBtn.IsSelected)
+                    {
+                        //閫昏緫寮�
+                        logic.IsEnable = 1;
+                    }
+                    else
+                    {
+                        //閫昏緫鍏�
+                        logic.IsEnable = 0;
+                    }
+                    Send.LogicControlSwitch(logic);
+
+                };
+                ///缂栬緫
+                var edit = new Button
+                {
+                    BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor1,
+                    Text = Language.StringByID(MyInternationalizationString.edit),
+                    TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
+                };
+                logicRowlayout.AddRightView(edit);
+                edit.MouseUpEventHandler += (sender, e) =>
+                {
+                    Common.Logic.CurrentLogic = logic;
+                    var lockLogicCommunalPage = new LockLogicCommunalPage();
+                    UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
+                    UserView.HomePage.Instance.PageIndex += 1;
+                    lockLogicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(); });
+
+                };
+
+
+                ///鍒犻櫎
+                var del = new Button
+                {
+                    BackgroundColor = ZigbeeColor.Current.LogicDelBlackColor1,
+                    Text = Language.StringByID(MyInternationalizationString.del),
+                    TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
+                };
+                logicRowlayout.AddRightView(del);
+                del.MouseUpEventHandler += (sender, e) =>
+                {
+                    var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete),
+                                             Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim));
+                    alert.ResultEventHandler += (sender1, e1) =>
+                    {
+                        if (e1)
+                        {
+                            Common.Logic.LogicList.Remove(logic);
+                            Automationview();
+                            Send.DelLogic(logic.LogicId);
+                        }
+                    };
+                    alert.Show();
+
+                };
+            }
+
+        }
+    }
+}

--
Gitblit v1.8.0