From b7b3e92bed9c4553e30e2901a1877f088a5f8823 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期一, 04 十一月 2019 17:20:52 +0800 Subject: [PATCH] 2019.11.4 --- 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