From d7ad5a3953a8cd001659092ebde204b881f94b9d Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 31 十月 2019 10:47:13 +0800
Subject: [PATCH] 2019-10-31-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs |   79 ++++++++++++++++++++++++++++++---------
 1 files changed, 61 insertions(+), 18 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs
index 06624b8..074389f 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/TemplateDeviceCondition.cs
@@ -87,7 +87,8 @@
                 Width = Application.GetRealWidth(400),
                 Height = Application.GetRealHeight(69),
                 Y = Application.GetRealHeight(92),
-                TextID = MyInternationalizationString.customroom,
+                // TextID = MyInternationalizationString.customroom,
+                Text = Config.Instance.Home.GetCurrentFloorName,
             };
             topRowLayout.AddChidren(foolrname);
             var dropdown = new Button
@@ -157,7 +158,7 @@
             };
 
             ///妤煎眰鐐瑰嚮浜嬩欢
-            foolrname.MouseUpEventHandler += (sender, e) =>
+            EventHandler<MouseEventArgs> foorlclick=(sender,e) =>
             {
 
                 var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
@@ -178,8 +179,7 @@
                 };
                 flMain.AddChidren(foolrbj);
                 ///榛樿璋冭瘯
-                List<string> foolrlist = new List<string> { "涓�妤�", "浜屾ゼ", "涓夋ゼ" };
-                foreach (var foolr in foolrlist)
+                foreach (var foolr in Config.Instance.Home.FloorDics)
                 {
                     var foolrRowLayout = new FrameLayout
                     {
@@ -191,32 +191,57 @@
                     {
                         Width = Application.GetRealWidth(250),
                         Height = Application.GetRealHeight(160),
-                        Text = foolr,
+                        Text = foolr.Value,
                         TextAlignment = TextAlignment.Center,
                         TextColor = ZigbeeColor.Current.LogicTextBlackColor,
-                        //SelectedTextColor=0xfffc744b,
+                        Tag = foolr.Key,
                     };
                     foolrRowLayout.AddChidren(btnfoolrname);
 
 
-                    EventHandler<MouseEventArgs> foolrclick = (sender13, e13) =>
+                    EventHandler<MouseEventArgs> foolrnameclick = (sender13, e13) =>
                     {
                         roomhorizontalScrol.RemoveAll();
+                        devicetypehorizontalScrol.RemoveAll();
+                        middle.RemoveAll();
                         foolrname.Text = btnfoolrname.Text;
                         flMain.RemoveFromParent();
-                        ///澶囨敞锛氭樉绀洪�変腑妤煎眰鐨勬墍鏈夋埧闂�
-                        AllRoomView(Common.Room.Lists, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
+                        var list = Send.GetRoomList(btnfoolrname.Tag.ToString());
+                        AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
 
                     };
-                    foolrRowLayout.MouseUpEventHandler += foolrclick;
-                    btnfoolrname.MouseUpEventHandler += foolrclick;
+                    foolrRowLayout.MouseUpEventHandler += foolrnameclick;
+                    btnfoolrname.MouseUpEventHandler += foolrnameclick;
 
 
                 }
 
             };
-            ///绗竴娆¤繘鏉�
-            AllRoomView(Common.Room.Lists, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
+            foolrname.MouseUpEventHandler += foorlclick;
+            dropdown.MouseUpEventHandler += foorlclick;
+
+            var roomlists = new List<Common.Room>();
+            roomlists.Clear();
+            if (Config.Instance.Home.FloorDics.Count < 2)
+            {
+                foolrname.Visible = false;
+                dropdown.Visible = false;
+                if (Config.Instance.Home.FloorDics.Count == 0)
+                {
+                    roomlists.AddRange(Common.Room.Lists);
+                }
+                else
+                {
+                    roomlists = Send.GetRoomList(Config.Instance.Home.CurrentFloorId);
+                }
+            }
+            else
+            {
+                roomlists = Send.GetRoomList(Config.Instance.Home.CurrentFloorId);
+
+            }
+
+            AllRoomView(roomlists, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
         }
         /// <summary>
         /// 鍔犺浇鎵�鏈夋埧闂寸殑瑙嗗浘鏂规硶
@@ -271,6 +296,10 @@
                     var list = new List<DeviceUI>();
                     foreach (var device in room.DeviceUIList)
                     {
+                        if (device.CommonDevice == null)
+                        {
+                            continue;
+                        }
                         if (!deviceTypeList.Contains(device.CommonDevice.Type))
                         {
                             continue;
@@ -297,6 +326,10 @@
                     var list = new List<DeviceUI>();
                     foreach (var device in room.DeviceUIList)
                     {
+                        if (device.CommonDevice == null)
+                        {
+                            continue;
+                        }
                         if (!deviceTypeList.Contains(device.CommonDevice.Type))
                         {
                             continue;
@@ -1328,8 +1361,7 @@
                 case DeviceType.DoorLock:
                     {
                         #region  ------
-                        var doorlockifonlist = Send.ReadDoorLockIfon("ccccccfffe300347");
-                        //var list = Send.ReadDoorLockIfon(common.DeviceAddr);
+                        var doorlockifonlist = await Send.UserListIfon(common.DeviceAddr);
                         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);
@@ -1343,9 +1375,20 @@
                                 ///鏌ユ壘鎴愬憳浠ュ強鎴愬憳闂ㄩ攣瑙﹀彂婧�(1鎸夐敭/3鍗�/15鎸囩汗)
                                 if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark)
                                 {
-                                    membership.UserIdMode.Add(doorlockifonlist[j].UserIdMode);
-                                    membership.MembershipName = membershipifon.UserName;
+                                    var lockMode = new Send.LockMode();
+                                    lockMode.UserId = doorlockifonlist[j].DoorLockLocalUserId;
+                                    lockMode.OpenMode = doorlockifonlist[j].OpenLockMode;
+                                    membership.UserIdMode.Add(lockMode);
                                     membership.MembershipId = membershipifon.SubAccountDistributedMark;
+                                    if (string.IsNullOrEmpty(membershipifon.UserName))
+                                    {
+                                        membership.MembershipName = membershipifon.Account;
+                                    }
+                                    else
+                                    {
+                                        membership.MembershipName = membershipifon.UserName;
+
+                                    }
 
                                 }
 
@@ -1353,7 +1396,7 @@
                             if (membership.UserIdMode.Count != 0)
                             {
                                 ///杩囨护鎺夐噸澶嶆暟鎹紱
-                                var str = Send.UserList.Find((c) => { return c.MembershipId == membership.MembershipId; });
+                                var str = Send.UserList.Find((c) => { return c.MembershipId == membershipifon.SubAccountDistributedMark; });
                                 if (str == null)
                                 {
                                     Send.UserList.Add(membership);

--
Gitblit v1.8.0