From 276b14dffead08293e951cc761be87436bdcf921 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 31 十月 2019 14:57:16 +0800
Subject: [PATCH] 2019-10-31-2

---
 ZigbeeApp/Shared/Phone/Device/Logic/Send.cs |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 109 insertions(+), 7 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
index 54081cb..0d09b50 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
@@ -715,6 +715,7 @@
         #endregion
 
         #region  ----鑾峰彇闂ㄩ攣
+        #region ---绗�1绉�
         public static List<LogicLock> ReadDoorLockIfon(string doorlockMac)
         {
             List<LogicLock> list = new List<LogicLock>();
@@ -881,13 +882,97 @@
             return list;
         }
 
-
-
-
+        #endregion
 
         #region ---绗�2绉�
+        /// <summary>
+        /// 鑾峰彇鑷繁+鍏朵粬鎴愬憳淇℃伅
+        /// </summary>
+        /// <param name="doorlockMac">闂ㄩ攣Mac</param>
+        /// <returns></returns>
+        public static async System.Threading.Tasks.Task<List<MembershipIfon>> AllMembers(string doorlockMac)
+        {
+            var userlist = new List<MembershipIfon>();
+            ///鍒ゆ柇APP鐧诲綍杩涙潵鐢ㄦ埛韬唤(涓讳汉锛岀鐞嗗憳锛屾垚鍛�)
+            var doorlockifonlist = await ReadUserListIfon(doorlockMac);
+            var membershipIfon = new MembershipIfon();
+            membershipIfon.MembershipId = Config.Instance.Guid;
+            if (string.IsNullOrEmpty(Config.Instance.Nmae))
+            {
+                membershipIfon.MembershipName = Config.Instance.Account;
+            }
+            else
+            {
+                membershipIfon.MembershipName = Config.Instance.Nmae;
+            }
+            foreach (var o in doorlockifonlist)
+            {
+                if (o.CloudAccountId == Config.Instance.Guid)
+                {
+                    LockMode lockMode = new LockMode();
+                    lockMode.OpenMode = o.OpenLockMode;
+                    lockMode.UserId = o.DoorLockLocalUserId;
+                    membershipIfon.UserIdMode.Add(lockMode);
+                }
+            }
+            if (membershipIfon.UserIdMode.Count != 0)
+            {
+                userlist.Add(membershipIfon);
+            }
 
-        public static async System.Threading.Tasks.Task<List<LogicLock>> UserListIfon(string doorlockMac)
+            if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3)
+            {
+                var pra = new UserCenter.MemberListInfoPra();
+                string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
+                var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
+                for (int i = 0; i < listInfo.Count; i++)
+                {
+
+                    var membership = new MembershipIfon();
+                    var membershipifon = listInfo[i];
+                    membership.MembershipId = membershipifon.SubAccountDistributedMark;
+                    if (string.IsNullOrEmpty(membershipifon.UserName))
+                    {
+                        membership.MembershipName = membershipifon.Account;
+                    }
+                    else
+                    {
+                        membership.MembershipName = membershipifon.UserName;
+
+                    }
+                    for (int j = 0; j < doorlockifonlist.Count; j++)
+                    {
+                        ///鏌ユ壘鎴愬憳浠ュ強鎴愬憳闂ㄩ攣瑙﹀彂婧�(1鎸夐敭/3鍗�/15鎸囩汗)
+                        if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark)
+                        {
+                            LockMode lockMode = new LockMode();
+                            lockMode.OpenMode = doorlockifonlist[j].OpenLockMode;
+                            lockMode.UserId = doorlockifonlist[j].DoorLockLocalUserId;
+                            membership.UserIdMode.Add(lockMode);
+                        }
+
+                    }
+                    if (membership.UserIdMode.Count != 0)
+                    {
+                        ///杩囨护鎺夐噸澶嶆暟鎹紱
+                        var str = userlist.Find((c) => { return c.MembershipId == membershipifon.SubAccountDistributedMark; });
+                        if (str == null)
+                        {
+                            userlist.Add(membership);
+                        }
+                    }
+
+                }
+
+            }
+            return userlist;
+        }
+        /// <summary>
+        /// 璇诲彇闂ㄩ攣鎵�鏈夋垚鍛樹俊鎭�
+        /// </summary>
+        /// <param name="doorlockMac">闂ㄩ攣Mac</param>
+        /// <returns></returns>
+        public static async System.Threading.Tasks.Task<List<LogicLock>> ReadUserListIfon(string doorlockMac)
         {
             List<LogicLock> list = new List<LogicLock>();
             var s = await ReadUserList(doorlockMac);
@@ -984,7 +1069,7 @@
         /// <returns></returns>
         public static async System.Threading.Tasks.Task<string> WebClientAsync(int value, string url, Residential residential = null)
         {
-            
+
             NameValueCollection postValues = new NameValueCollection();
             if (value == 0)
             {
@@ -1011,6 +1096,9 @@
             byte[] responseArray = webClient.UploadValues(url, postValues);
             return System.Text.Encoding.UTF8.GetString(responseArray);
         }
+
+
+
         #endregion
 
         public class Residential
@@ -1080,9 +1168,23 @@
             public int OpenMode;
 
         }
-
+        /// <summary>
+        /// 鑷姩鍖栭棬閿佹垚鍛樹俊鎭綔涓烘潯浠跺垪琛�
+        /// </summary>
         public static List<MembershipIfon> UserList = new List<MembershipIfon>();
-       
+        /// <summary>
+        ///鑱斿姩浜嬩欢闂ㄩ攣鎴愬憳淇℃伅浣滀负鏉′欢鐨勫垪琛�
+        /// </summary>
+        public static List<MembershipIfon> LinkageventLockList = new List<MembershipIfon>();
+
+        /// <summary>
+        /// 褰撳墠闂ㄩ攣
+        /// </summary>
+        public static ZigBee.Device.DoorLock CurrentDoorLock = null;
+        /// <summary>
+        /// 褰撳墠鐢ㄦ埛鐨勪俊鎭�
+        /// </summary>
+        public static UserCenter.MemberInfoRes UserMemberInfoRes = null;
         #endregion
     }
 }

--
Gitblit v1.8.0