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