From e5f993f52e09eb46878baced83bb8492f147d41c Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 04 十一月 2019 17:58:40 +0800 Subject: [PATCH] 2019-11-04-1 --- ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs | 8 ++-- ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs | 25 ++++++++---- ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs | 22 ++++++++++ ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml | 19 ++++++--- ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs | 3 + ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs | 2 ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide | 0 7 files changed, 58 insertions(+), 21 deletions(-) diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml index 12ca2f3..b2ff7e0 100644 --- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml +++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml @@ -2,25 +2,32 @@ <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.SelectDevice" /> <MonoDevelop.Ide.ItemProperties.GateWay.Ios automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.913cb77b0eef11c9119c61a02bc00fec01bf67d6" /> <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" /> - <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Category/Category.cs"> + <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/LogicCommunalPage.cs"> <Files> - <File FileName="Shared/Phone/Device/Category/Category.cs" Line="793" Column="55" /> + <File FileName="Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs" Line="45" Column="31" /> + <File FileName="Shared/Phone/ZigBee/Device/DoorLock.cs" Line="1929" Column="22" /> + <File FileName="Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs" Line="17" Column="33" /> + <File FileName="Shared/Phone/Device/Logic/Send.cs" Line="905" Column="14" /> + <File FileName="Shared/Phone/Device/Logic/LogicCommunalPage.cs" Line="718" Column="47" /> </Files> <Pads> <Pad Id="ProjectPad"> <State name="__root__"> <Node name="GateWay" expanded="True"> <Node name="Shared" expanded="True"> - <Node name="Common" expanded="True" /> <Node name="Phone" expanded="True"> <Node name="Device" expanded="True"> - <Node name="Category" expanded="True"> - <Node name="Category.cs" selected="True" /> - </Node> <Node name="Logic" expanded="True"> <Node name="DoorLockLogic" expanded="True" /> + <Node name="LogicCommunalPage.cs" selected="True" /> </Node> </Node> + <Node name="UserCenter" expanded="True"> + <Node name="DoorLock" expanded="True" /> + </Node> + <Node name="ZigBee" expanded="True"> + <Node name="Device" expanded="True" /> + </Node> </Node> </Node> </Node> diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide index 8fc5d49..afa26e9 100644 --- a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide +++ b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide Binary files differ diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs index e2b9d19..1b5ddfc 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs @@ -1,4 +1,4 @@ -锘縰sing System; +锘� using System; using System.Collections.Generic; using Shared; using Shared.Common; @@ -14,7 +14,7 @@ { Tag = "Logic"; } - public void Show() + public void Show() { #region 鏈�涓婇潰鐨勫竷灞�浠g爜 @@ -129,8 +129,8 @@ timeiconBtn.MouseUpEventHandler += timeclick; timerow.MouseUpEventHandler += timeclick; - #endregion - + #endregion + #region ----璁惧鐘舵�佹潯浠�---- var deviceframelayout = new FrameLayout { diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs index b198346..e88eec2 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs @@ -1407,12 +1407,13 @@ break; case DeviceType.DoorLock: { - + var memberList = new MemberList(); UserView.HomePage.Instance.AddChidren(memberList); UserView.HomePage.Instance.PageIndex += 1; MemberList.action += () => { flMain.RemoveFromParent(); }; + MemberList.edit = false; memberList.Show(common); } break; diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs index 307a2ee..2c95b60 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/AddCondition.cs @@ -341,7 +341,27 @@ { if (conditionsIndex == -1) { - Common.Logic.CurrentLogic.Conditions.Add(lockConditionsInfo); + bool add = false; + for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++) + { + if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1") + { + if ((Common.Logic.CurrentLogic.Conditions[i]["MacAddr"] == Send.CurrentDoorLock.DeviceAddr) && (Common.Logic.CurrentLogic.Conditions[i]["Epoint"] == Send.CurrentDoorLock.DeviceEpoint.ToString())) + { + if (Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"] == lockConditionsInfo["AttriButeId"] && Common.Logic.CurrentLogic.Conditions[i]["AttriButeData2"] == lockConditionsInfo["AttriButeData2"]) + { + add = true; + break; + } + } + } + } + + if (!add) + { + Common.Logic.CurrentLogic.Conditions.Add(lockConditionsInfo); + } + } else { diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs index e3eabc9..cf09619 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs @@ -541,7 +541,7 @@ UserView.HomePage.Instance.AddChidren(memberList); UserView.HomePage.Instance.PageIndex += 1; MemberList.edit = true; - memberList.Show(deviceinof); + memberList.Show(deviceinof, conditions); } }; diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs index e30cc54..c5f558d 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/MemberList.cs @@ -9,6 +9,10 @@ { public class MemberList : FrameLayout { + public MemberList() + { + Tag = "Logic"; + } Button selectedIcon = new Button(); public static Action action; public static bool edit=false; @@ -17,6 +21,7 @@ public async void Show(CommonDevice common, Dictionary<string, string> editdeviceConditionsInfo=null) { + if (!edit) { deviceConditionsInfo.Add("Type", "1"); @@ -312,14 +317,14 @@ doorlockBtn.MouseUpEventHandler += doorlockclick; doorlockSelected.MouseUpEventHandler += doorlockclick; doorlockfra.MouseUpEventHandler += doorlockclick; - if (edit) + if (edit&&editdeviceConditionsInfo!=null) { - if (editdeviceConditionsInfo["AttriButeData2"] == userifon.OpenMode.ToString()) + deviceConditionsInfo = editdeviceConditionsInfo; + if (editdeviceConditionsInfo["AttriButeData2"] == userifon.UserId.ToString()) { selectedIcon.Visible = false; selectedIcon = doorlockSelected; doorlockSelected.Visible = true; - } } @@ -329,9 +334,10 @@ Btncomplete.MouseUpEventHandler += (sender3, e3) => { + if (SelectedDeviceStatuscondition != "") { - + bool add = false; for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++) { if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "1") @@ -350,14 +356,17 @@ Common.Logic.CurrentLogic.Accounts.Insert(j, userdictionary); } } - return; + add = true; + break; } } } } - - Common.Logic.CurrentLogic.Accounts.Add(userdictionary); - Common.Logic.CurrentLogic.Conditions.Add(deviceConditionsInfo); + if (!add) + { + Common.Logic.CurrentLogic.Accounts.Add(userdictionary); + Common.Logic.CurrentLogic.Conditions.Add(deviceConditionsInfo); + } } else -- Gitblit v1.8.0