From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径
---
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs | 111 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 85 insertions(+), 26 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs
index 6eae1ad..7feed80 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedListRoomForm.cs
@@ -18,9 +18,13 @@
/// </summary>
private VerticalFrameControl listView = null;
/// <summary>
- /// 鎴愬憳ID
+ /// 鎴愬憳淇℃伅
/// </summary>
- private string ChildAccountId = string.Empty;
+ private MemberInfoRes memberResult = null;
+ /// <summary>
+ /// 鎴愬憳鐨勫垎浜暟鎹�
+ /// </summary>
+ private MemberShardInfoData memberShardInfo = null;
#endregion
@@ -31,9 +35,11 @@
/// </summary>
/// <param name="i_memberResult">鎴愬憳淇℃伅</param>
/// <param name="i_memberShardInfo">鎴愬憳鐨勫叡浜俊鎭�</param>
- public void ShowForm(string i_ChildAccountId)
+ public void ShowForm(MemberInfoRes i_memberResult, MemberShardInfoData i_memberShardInfo)
{
- this.ChildAccountId = i_ChildAccountId;
+ this.memberResult = i_memberResult;
+ this.memberShardInfo = i_memberShardInfo;
+ this.memberShardInfo.SubAccountDistributedMark = this.memberResult.SubAccountDistributedMark;
//璁剧疆澶撮儴淇℃伅
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uShared2));
@@ -44,7 +50,7 @@
btnAdd.ButtonClickEvent += (sender, e) =>
{
var form = new AddNewSharedListRoomForm();
- form.AddForm(this.ChildAccountId);
+ form.AddForm(this.memberResult, this.memberShardInfo);
};
topFrameLayout.AddChidren(btnAdd);
btnAdd.InitControl();
@@ -63,8 +69,8 @@
HdlThreadLogic.Current.RunThread(() =>
{
- //鍒濆鍖栨垚鍛樼殑鍏变韩鍒楄〃
- var result = HdlShardLogic.Current.InitMemberShardContentListAndSetToLocation(this.ChildAccountId);
+ //鑾峰彇鎴愬憳鐨勫叡浜垪琛�
+ var result = HdlShardLogic.Current.GetMemberShardContentListAndSetToLocation(memberShardInfo);
if (result == false)
{
//鏄剧ず閲嶆柊鍔犺浇鐨勭晫闈�
@@ -85,8 +91,7 @@
/// </summary>
private void InitAreaListRow()
{
- var dicShardRoom = HdlShardLogic.Current.GetShardRoomFromMemory();
- if (dicShardRoom.Count == 0)
+ if (memberShardInfo.dicShardRoom.Count == 0)
{
HdlThreadLogic.Current.RunMain(() =>
{
@@ -101,7 +106,7 @@
{
//鍚堝苟鍚屼竴妤煎眰鐨勬埧闂�
var dicGroup = new Dictionary<string, List<Common.Room>>();
- foreach (var room in dicShardRoom.Values)
+ foreach (var room in memberShardInfo.dicShardRoom.Values)
{
if (dicGroup.ContainsKey(room.FloorId) == false)
{
@@ -109,9 +114,6 @@
}
dicGroup[room.FloorId].Add(room);
}
- //鑾峰彇鍒嗕韩鐨勬ゼ灞�(鎺掑簭)
- var dicSortFloor = HdlShardLogic.Current.GetShardFloorFormMemory();
- dicSortFloor = HdlRoomLogic.Current.GetFloorSortList(dicSortFloor);
HdlThreadLogic.Current.RunMain(() =>
{
@@ -121,19 +123,21 @@
listView.Height = bodyFrameLayout.Height;
bodyFrameLayout.AddChidren(listView);
- foreach (var floorId in dicSortFloor.Keys)
+ //鎺掑簭妤煎眰
+ var dicSort = HdlRoomLogic.Current.GetFloorSortList();
+ foreach (var floorId in dicSort.Keys)
{
if (dicGroup.ContainsKey(floorId) == true)
{
//娣诲姞鍚勮嚜妤煎眰鐨勬埧闂村垪琛�
- this.AddRoomListRow(floorId, dicSortFloor[floorId], dicGroup[floorId]);
+ this.AddRoomListRow(floorId, dicGroup[floorId]);
dicGroup.Remove(floorId);
}
}
//娣诲姞鍚勮嚜妤煎眰鐨勬埧闂村垪琛�(杩欓噷鏄寚瀹氭ゼ灞傚苟涓嶅湪鎺掑簭璁板綍閲岄潰鐨�)
foreach (var floorId in dicGroup.Keys)
{
- this.AddRoomListRow(floorId, string.Empty, dicGroup[floorId]);
+ this.AddRoomListRow(floorId, dicGroup[floorId]);
}
//璋冩暣妗屽竷楂樺害
listView.AdjustTableHeight();
@@ -145,7 +149,7 @@
/// 娣诲姞鎴块棿鍒楄〃琛�
/// </summary>
/// <param name="listRoom"></param>
- private void AddRoomListRow(string floorId, string floorName, List<Common.Room> listRoom)
+ private void AddRoomListRow(string floorId, List<Common.Room> listRoom)
{
var frameBack = new FrameListControl(29);
frameBack.BackgroundColor = UserCenterColor.Current.White;
@@ -156,14 +160,14 @@
if (string.IsNullOrEmpty(floorId) == false)
{
var btnFloor = new NormalViewControl(800, 60, true);
- btnFloor.X = HdlControlResourse.XXLeft;
+ btnFloor.X = ControlCommonResourse.XXLeft;
btnFloor.Y = Application.GetRealHeight(52);
btnFloor.TextColor = UserCenterColor.Current.TextColor2;
btnFloor.TextSize = 15;
frameBack.AddChidren(btnFloor);
- if (floorName != string.Empty)
+ if (memberShardInfo.dicShardFloor.ContainsKey(floorId) == true)
{
- btnFloor.Text = floorName;
+ btnFloor.Text = memberShardInfo.dicShardFloor[floorId];
}
else if (floorId == "Other")
{
@@ -176,10 +180,34 @@
}
}
//鎴块棿鎺掑簭
- var listSortRoom = HdlRoomLogic.Current.SortRoom(listRoom);
- for (int i = 0; i < listSortRoom.Count; i++)
+ var listSortRoom = HdlRoomLogic.Current.GetFloorSortRoom(floorId, false);
+ var listSort = new HashSet<string>();
+ foreach (var room in listSortRoom)
{
- var room = listSortRoom[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 frameRow = new RowLayoutControl(frameBack.rowSpace / 2);
frameBack.AddChidren(frameRow);
//鍥炬爣
@@ -190,7 +218,7 @@
btnName.TextSize = 15;
//鍙崇澶�
frameRow.frameTable.AddRightArrow();
- if (i != listSortRoom.Count - 1)
+ if (dicRoom.Count != 0)
{
//搴曠嚎
frameRow.frameTable.AddBottomLine();
@@ -198,7 +226,7 @@
frameRow.frameTable.ButtonClickEvent += (sender, e) =>
{
var form = new LookSharedContentForm();
- form.AddForm(room, this.ChildAccountId);
+ form.AddForm(room, memberShardInfo);
};
//鍒犻櫎
@@ -233,10 +261,41 @@
/// <param name="room">鎸囧畾瑕佸垹闄ょ殑鍏变韩鍖哄煙</param>
public void DoDeleteShardContentByRoom(Common.Room room)
{
+ //鑾峰彇鍏ㄩ儴璁惧
+ var listDevice = new List<CommonDevice>();
+ foreach (var deviceKeys in room.ListDevice)
+ {
+ string deviceFile = HdlShardLogic.Current.GetShardDeviceFileName(deviceKeys);
+ if (deviceFile == string.Empty)
+ {
+ continue;
+ }
+ var byteData = HdlShardLogic.Current.GetShardFileContent(deviceFile);
+ if (byteData == null)
+ {
+ continue;
+ }
+ var device = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice>(System.Text.Encoding.UTF8.GetString(byteData));
+ device.Type = (DeviceType)device.DeviceID;
+ listDevice.Add(device);
+ }
+ //鑾峰彇鍏ㄩ儴鍦烘櫙
+ var listScene = new List<Common.SceneUI>();
+ foreach (var sceneId in room.ListSceneId)
+ {
+ var byteData = HdlShardLogic.Current.GetShardFileContent($"Scene_{sceneId}.json");
+ if (byteData == null)
+ {
+ continue;
+ }
+ var sceneUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.SceneUI>(System.Text.Encoding.UTF8.GetString(byteData));
+ listScene.Add(sceneUi);
+ }
+
HdlThreadLogic.Current.RunThread(() =>
{
//鎵ц鍒犻櫎
- var result = HdlShardLogic.Current.DeleteSharedRoom(this.ChildAccountId, new List<Common.Room> { room });
+ var result = HdlShardLogic.Current.DoDeleteSharedContent(memberShardInfo, room, listDevice, listScene);
if (result == true)
{
HdlThreadLogic.Current.RunMain(() =>
--
Gitblit v1.8.0