From fe3b2466c68b5db70d38e78039703add3b8b1dfe Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 31 十二月 2020 19:29:43 +0800
Subject: [PATCH] 合并了代码

---
 ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs |   65 ++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 20 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
index 0d010e3..374d5fb 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
@@ -17,9 +17,9 @@
         /// </summary>
         private Common.Room lookRoom = null;
         /// <summary>
-        /// 鎴愬憳ID
+        /// 鎴愬憳鐨勫垎浜暟鎹�
         /// </summary>
-        private string ChildAccountId = string.Empty;
+        private MemberShardInfoData memberShardInfo = null;
         /// <summary>
         /// 璁惧妗屽竷鎺т欢
         /// </summary>
@@ -58,10 +58,10 @@
         /// </summary>
         /// <param name="i_room">鏌ョ湅鐨勬埧闂村璞�</param>
         /// <param name="i_memberShardInfo">鎴愬憳鐨勫垎浜暟鎹�</param>
-        public void ShowForm(Common.Room i_room, string i_ChildAccountId)
+        public void ShowForm(Common.Room i_room, MemberShardInfoData i_memberShardInfo)
         {
             this.lookRoom = i_room;
-            this.ChildAccountId = i_ChildAccountId;
+            this.memberShardInfo = i_memberShardInfo;
 
             //璁剧疆澶撮儴淇℃伅
             base.SetTitleText(i_room.Name);
@@ -159,13 +159,19 @@
             this.frameSceneTable.RemoveAll();
 
             var listScene = new List<Common.SceneUI>();
-            foreach (var sceneId in lookRoom.ListSceneId)
+            for (int i = 0; i < lookRoom.ListSceneId.Count; i++)
             {
-                var scene = HdlShardLogic.Current.GetShardSceneFromMemory(sceneId);
-                if (scene != null)
+                var byteData = HdlShardLogic.Current.GetShardFileContent($"Scene_{lookRoom.ListSceneId[i]}.json");
+                if (byteData == null)
                 {
-                    listScene.Add(scene);
+                    continue;
                 }
+                try
+                {
+                    var sceneUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.SceneUI>(System.Text.Encoding.UTF8.GetString(byteData));
+                    listScene.Add(sceneUi);
+                }
+                catch { }
             }
             if (listScene.Count == 0)
             {
@@ -249,7 +255,7 @@
                 else
                 {
                     var frameBack = new FrameLayout();
-                    frameBack.X = HdlControlResourse.XXLeft;
+                    frameBack.X = ControlCommonResourse.XXLeft;
                     frameBack.Y = Application.GetRealHeight(178);
                     frameBack.BackgroundColor = UserCenterColor.Current.White;
                     frameBack.Width = bodyFrameLayout.Width;
@@ -309,15 +315,15 @@
             foreach (var device in listDevice)
             {
                 var frameRow = new FrameRowControl(listView.rowSpace / 2);
-                frameRow.LeftOffset = Application.GetRealWidth(46) - HdlControlResourse.XXLeft;
-                frameRow.RightOffset = -HdlControlResourse.XXLeft;
+                frameRow.LeftOffset = Application.GetRealWidth(46) - ControlCommonResourse.XXLeft;
+                frameRow.RightOffset = -ControlCommonResourse.XXLeft;
                 listView.AddChidren(frameRow);
                 //鍥炬爣
                 var btnIcon = frameRow.AddLeftIcon(81);
-                HdlDeviceCommonLogic.Current.SetDeviceIconToControl(btnIcon, device);
+                Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, device);
                 //鍚嶇О
                 var btnView = frameRow.AddLeftCaption(string.Empty, 600);
-                btnView.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
+                btnView.Text = Common.LocalDevice.Current.GetDeviceEpointName(device);
                 btnView.TextSize = 15;
                 //搴曠嚎
                 frameRow.AddBottomLine();
@@ -326,7 +332,7 @@
                 btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
                 btnSelect.SelectedImagePath = "Item/ItemSelected.png";
 
-                string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device);
+                string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
                 if (dicSelectDevice.ContainsKey(mainKeys) == true)
                 {
                     btnSelect.IsSelected = true;
@@ -372,7 +378,7 @@
             var dic = new Dictionary<string, List<CommonDevice>>();
             foreach (var device in listDevice)
             {
-                var typeInfo = HdlDeviceCommonLogic.Current.GetDeviceBelongEnumInfo(device);
+                var typeInfo = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device);
                 if (dic.ContainsKey(typeInfo.BeloneText) == false)
                 {
                     dic[typeInfo.BeloneText] = new List<CommonDevice>();
@@ -410,7 +416,7 @@
                 HdlThreadLogic.Current.RunThread(() =>
                 {
                     //涓婁紶鏂囦欢
-                    var result = HdlShardLogic.Current.DeleteSharedContent(this.ChildAccountId, this.lookRoom, listDevice, listScene);
+                    var result = HdlShardLogic.Current.DoDeleteSharedContent(memberShardInfo, this.lookRoom, listDevice, listScene);
                     if (result == true)
                     {
                         HdlThreadLogic.Current.RunMain(() =>
@@ -435,12 +441,31 @@
         {
             //鑾峰彇杩欎釜鎴块棿閲岄潰鐨勫垎浜澶�
             var listDevice = new List<CommonDevice>();
-            foreach (var deviceKey in this.lookRoom.ListDevice)
+            foreach (var deviceKeys in this.lookRoom.ListDevice)
             {
-                var device = HdlShardLogic.Current.GetShardDeviceFromMemory(deviceKey);
-                if (device != null)
+                string deviceFile = HdlShardLogic.Current.GetShardDeviceFileName(deviceKeys);
+                if (memberShardInfo.dicAllShardKeys.ContainsKey(deviceFile) == true)
                 {
-                    listDevice.Add(device);
+                    //浠庡垎浜枃浠朵腑搴忓垪鍖栧洖鏉�
+                    var deviceData = HdlShardLogic.Current.GetShardFileContent(deviceFile);
+                    if (deviceData == null)
+                    {
+                        continue;
+                    }
+                    try
+                    {
+                        var jobject = Newtonsoft.Json.Linq.JObject.Parse(System.Text.Encoding.UTF8.GetString(deviceData));
+                        if (jobject.Property("DeviceID") == null)
+                        {
+                            continue;
+                        }
+                        var device = ZigBee.Device.CommonDevice.CommonDeviceByByteString(Convert.ToInt32(jobject["DeviceID"].ToString()), System.Text.Encoding.UTF8.GetString(deviceData));
+                        if (device != null)
+                        {
+                            listDevice.Add(device);
+                        }
+                    }
+                    catch { }
                 }
             }
             return listDevice;

--
Gitblit v1.8.0