From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs | 161 ++++++++++++----------------------------------------- 1 files changed, 37 insertions(+), 124 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs index d34fc96..6eae1ad 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs @@ -18,13 +18,9 @@ /// </summary> private VerticalFrameControl listView = null; /// <summary> - /// 鎴愬憳淇℃伅 + /// 鎴愬憳ID /// </summary> - private MemberInfoRes memberResult = null; - /// <summary> - /// 鎴愬憳鐨勫垎浜暟鎹� - /// </summary> - private MemberShardInfoData memberShardInfo = null; + private string ChildAccountId = string.Empty; #endregion @@ -35,11 +31,9 @@ /// </summary> /// <param name="i_memberResult">鎴愬憳淇℃伅</param> /// <param name="i_memberShardInfo">鎴愬憳鐨勫叡浜俊鎭�</param> - public void ShowForm(MemberInfoRes i_memberResult, MemberShardInfoData i_memberShardInfo) + public void ShowForm(string i_ChildAccountId) { - this.memberResult = i_memberResult; - this.memberShardInfo = i_memberShardInfo; - this.memberShardInfo.SubAccountDistributedMark = this.memberResult.SubAccountDistributedMark; + this.ChildAccountId = i_ChildAccountId; //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uShared2)); @@ -50,7 +44,7 @@ btnAdd.ButtonClickEvent += (sender, e) => { var form = new AddNewSharedListRoomForm(); - form.AddForm(this.memberResult, this.memberShardInfo); + form.AddForm(this.ChildAccountId); }; topFrameLayout.AddChidren(btnAdd); btnAdd.InitControl(); @@ -67,21 +61,18 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); - HdlThreadLogic.Current.RunThread(async () => + HdlThreadLogic.Current.RunThread(() => { - //鑾峰彇鎴愬憳鐨勫叡浜垪琛� - var result = await HdlShardLogic.Current.GetMemberShardContentListAndSetToLocation(memberShardInfo); + //鍒濆鍖栨垚鍛樼殑鍏变韩鍒楄〃 + var result = HdlShardLogic.Current.InitMemberShardContentListAndSetToLocation(this.ChildAccountId); if (result == false) { //鏄剧ず閲嶆柊鍔犺浇鐨勭晫闈� this.ShowReLoadView(); return; } - //浠庢湰鍦拌幏鍙栨垚鍛樼殑鍒嗕韩鍒楄〃 - HdlShardLogic.Current.GetMemberShardContentListFromLocal(memberShardInfo); //鍒濆鍖栧尯鍩熷垪琛� this.InitAreaListRow(); - }); } @@ -94,19 +85,23 @@ /// </summary> private void InitAreaListRow() { - if (memberShardInfo.dicShardRoom.Count == 0) + var dicShardRoom = HdlShardLogic.Current.GetShardRoomFromMemory(); + if (dicShardRoom.Count == 0) { HdlThreadLogic.Current.RunMain(() => { - //鏄剧ず娌℃湁鍒嗕韩鏁版嵁妯″紡 - this.ShowNotShardMode(); + bodyFrameLayout.RemoveAll(); + //杩樻病鏈夊叡浜尯鍩熺粰鎴愬憳{0}鍙偣鍑诲彸涓婅鈥�+鈥濇坊鍔� + string msg = Language.StringByID(R.MyInternationalizationString.uNotShardComtentMsg); + string[] Arry = msg.Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); + this.ShowNotDataImage(bodyFrameLayout, Arry, "Item/NotShardPic.png", 383, 279); }); } else { //鍚堝苟鍚屼竴妤煎眰鐨勬埧闂� var dicGroup = new Dictionary<string, List<Common.Room>>(); - foreach (var room in memberShardInfo.dicShardRoom.Values) + foreach (var room in dicShardRoom.Values) { if (dicGroup.ContainsKey(room.FloorId) == false) { @@ -114,6 +109,9 @@ } dicGroup[room.FloorId].Add(room); } + //鑾峰彇鍒嗕韩鐨勬ゼ灞�(鎺掑簭) + var dicSortFloor = HdlShardLogic.Current.GetShardFloorFormMemory(); + dicSortFloor = HdlRoomLogic.Current.GetFloorSortList(dicSortFloor); HdlThreadLogic.Current.RunMain(() => { @@ -123,22 +121,22 @@ listView.Height = bodyFrameLayout.Height; bodyFrameLayout.AddChidren(listView); - //鎺掑簭妤煎眰 - var dicSort = Common.Room.CurrentRoom.GetFloorSortList(); - foreach (var floorId in dicSort.Keys) + foreach (var floorId in dicSortFloor.Keys) { if (dicGroup.ContainsKey(floorId) == true) { //娣诲姞鍚勮嚜妤煎眰鐨勬埧闂村垪琛� - this.AddRoomListRow(floorId, dicGroup[floorId]); + this.AddRoomListRow(floorId, dicSortFloor[floorId], dicGroup[floorId]); dicGroup.Remove(floorId); } } //娣诲姞鍚勮嚜妤煎眰鐨勬埧闂村垪琛�(杩欓噷鏄寚瀹氭ゼ灞傚苟涓嶅湪鎺掑簭璁板綍閲岄潰鐨�) foreach (var floorId in dicGroup.Keys) { - this.AddRoomListRow(floorId, dicGroup[floorId]); + this.AddRoomListRow(floorId, string.Empty, dicGroup[floorId]); } + //璋冩暣妗屽竷楂樺害 + listView.AdjustTableHeight(); }); } } @@ -147,25 +145,25 @@ /// 娣诲姞鎴块棿鍒楄〃琛� /// </summary> /// <param name="listRoom"></param> - private void AddRoomListRow(string floorId, List<Common.Room> listRoom) + private void AddRoomListRow(string floorId, string floorName, List<Common.Room> listRoom) { var frameBack = new FrameListControl(29); frameBack.BackgroundColor = UserCenterColor.Current.White; frameBack.Height = 10; - this.listView.AddChidrenFrame(frameBack); + this.listView.AddChidren(frameBack); //妤煎眰 if (string.IsNullOrEmpty(floorId) == false) { var btnFloor = new NormalViewControl(800, 60, true); - btnFloor.X = ControlCommonResourse.XXLeft; + btnFloor.X = HdlControlResourse.XXLeft; btnFloor.Y = Application.GetRealHeight(52); btnFloor.TextColor = UserCenterColor.Current.TextColor2; btnFloor.TextSize = 15; frameBack.AddChidren(btnFloor); - if (memberShardInfo.dicShardFloor.ContainsKey(floorId) == true) + if (floorName != string.Empty) { - btnFloor.Text = memberShardInfo.dicShardFloor[floorId]; + btnFloor.Text = floorName; } else if (floorId == "Other") { @@ -178,34 +176,10 @@ } } //鎴块棿鎺掑簭 - var listSortRoom = Common.Room.CurrentRoom.GetFloorSortRoom(floorId, false); - var listSort = new HashSet<string>(); - foreach (var room in listSortRoom) + var listSortRoom = HdlRoomLogic.Current.SortRoom(listRoom); + for (int i = 0; i < listSortRoom.Count; i++) { - //鏀堕泦鐜版湁鐨勬帓搴廔D - listSort.Add(room.Id); - } - var dicRoom = new Dictionary<string, Common.Room>(); - foreach (var room in listRoom) - { - //淇濆瓨闇�瑕佹樉绀哄嚭鏉ョ殑鎴块棿 - dicRoom[room.Id] = room; - if (listSort.Contains(room.Id) == false) - { - //涓嶅啀鎺掑簭璁板綍鍐�,鍒欏湪灏鹃儴杩藉姞 - listSort.Add(room.Id); - } - } - - foreach(var roomId in listSort) - { - if (dicRoom.ContainsKey(roomId) == false) - { - continue; - } - var room = dicRoom[roomId]; - dicRoom.Remove(roomId); - + var room = listSortRoom[i]; var frameRow = new RowLayoutControl(frameBack.rowSpace / 2); frameBack.AddChidren(frameRow); //鍥炬爣 @@ -216,13 +190,15 @@ btnName.TextSize = 15; //鍙崇澶� frameRow.frameTable.AddRightArrow(); - if (dicRoom.Count != 0) + if (i != listSortRoom.Count - 1) { //搴曠嚎 frameRow.frameTable.AddBottomLine(); } frameRow.frameTable.ButtonClickEvent += (sender, e) => { + var form = new LookSharedContentForm(); + form.AddForm(room, this.ChildAccountId); }; //鍒犻櫎 @@ -257,34 +233,10 @@ /// <param name="room">鎸囧畾瑕佸垹闄ょ殑鍏变韩鍖哄煙</param> public void DoDeleteShardContentByRoom(Common.Room room) { - //鑾峰彇鍏ㄩ儴璁惧 - var listDevice = new List<CommonDevice>(); - foreach (var deviceUi in room.DeviceUIList) - { - var device = deviceUi.CommonDevice; - if (device == null) - { - string deviceFile = deviceUi.FileName.Replace("DeviceUI_", string.Empty); - var byteData = HdlShardLogic.Current.GetShardFileContent(deviceFile); - if (byteData == null) - { - continue; - } - device = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice>(System.Text.Encoding.UTF8.GetString(byteData)); - } - listDevice.Add(device); - } - //鑾峰彇鍏ㄩ儴鍦烘櫙 - var listScene = new List<Common.SceneUI>(); - foreach (var sceneUi in room.SceneUIList) - { - listScene.Add(sceneUi); - } - - HdlThreadLogic.Current.RunThread(async () => + HdlThreadLogic.Current.RunThread(() => { //鎵ц鍒犻櫎 - var result = await HdlShardLogic.Current.DoDeleteSharedContent(memberShardInfo, room, listDevice, listScene); + var result = HdlShardLogic.Current.DeleteSharedRoom(this.ChildAccountId, new List<Common.Room> { room }); if (result == true) { HdlThreadLogic.Current.RunMain(() => @@ -308,45 +260,6 @@ //閲嶆柊鍒锋柊鐣岄潰 this.InitMiddleFrame(); return 1; - } - - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - /// <summary> - /// 鏄剧ず娌℃湁鍒嗕韩鏁版嵁妯″紡 - /// </summary> - private void ShowNotShardMode() - { - bodyFrameLayout.RemoveAll(); - //鍥剧墖 - var btnPic = new PicViewControl(383, 279); - btnPic.Gravity = Gravity.CenterHorizontal; - btnPic.Y = Application.GetRealHeight(498); - btnPic.UnSelectedImagePath = "Item/NotShardPic.png"; - bodyFrameLayout.AddChidren(btnPic); - - //杩樻病鏈夊叡浜尯鍩熺粰鎴愬憳{0}鍙偣鍑诲彸涓婅鈥�+鈥濇坊鍔� - string msg = Language.StringByID(R.MyInternationalizationString.uNotShardComtentMsg); - string[] Arry = msg.Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries); - var btnMsg1 = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(50), false); - btnMsg1.Y = Application.GetRealHeight(962); - btnMsg1.TextAlignment = TextAlignment.Center; - btnMsg1.TextSize = 12; - btnMsg1.TextColor = UserCenterColor.Current.TextGrayColor1; - btnMsg1.Text = Arry[0]; - bodyFrameLayout.AddChidren(btnMsg1); - if (Arry.Length > 1) - { - var btnMsg2 = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(50), false); - btnMsg2.Y = btnMsg1.Bottom; - btnMsg2.TextAlignment = TextAlignment.Center; - btnMsg2.TextSize = 12; - btnMsg2.TextColor = UserCenterColor.Current.TextGrayColor1; - btnMsg2.Text = Arry[1]; - bodyFrameLayout.AddChidren(btnMsg2); - } } #endregion -- Gitblit v1.8.0