From bff8993501334c4f3c5f902216fe03253be747f8 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 15 四月 2020 16:59:01 +0800
Subject: [PATCH] 合并新代码
---
ZigbeeApp20200414/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs | 99 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 83 insertions(+), 16 deletions(-)
diff --git a/ZigbeeApp20200414/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs b/ZigbeeApp20200414/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs
old mode 100755
new mode 100644
index 4952414..3b7946a
--- a/ZigbeeApp20200414/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs
+++ b/ZigbeeApp20200414/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs
@@ -75,8 +75,8 @@
//娓呯┖鏈湴缂撳瓨
this.dicRooms.Clear();
//妫�娴嬫垜鐨勫枩鐖辫繖涓埧闂村璞�
- this.CheckLoveRoom();
-
+ this.CheckLoveRoom();
+
foreach (var roomId in Config.Instance.Home.ListRooms)
{
//浠庢枃浠堕噷闈㈣幏鍙栨埧闂村璞�
@@ -123,7 +123,14 @@
}
}
//妫�娴嬫ゼ灞傛暟鎹殑鍚堟硶鎬�
- this.CheckFloorData(listRoomFile);
+ if (UserCenterResourse.UserInfo.AuthorityNo == 3)
+ {
+ this.CheckMemberFloorData(listRoomFile);
+ }
+ else
+ {
+ this.CheckAdminFloorData(listRoomFile);
+ }
homeTemp.Save(false);
InitAllRoom();
@@ -144,8 +151,12 @@
/// 妫�娴嬫ゼ灞傛暟鎹殑鍚堟硶鎬�
/// </summary>
/// <param name="listRoomFile"></param>
- private void CheckFloorData(List<string> listRoomFile)
+ private void CheckAdminFloorData(List<string> listRoomFile)
{
+ //娌℃湁妤煎眰,鍒欐棤闇�澶勭悊
+ if (Config.Instance.Home.FloorDics.Count == 0) { return; }
+
+ //涓讳汉鎴栬�呯鐞嗗憳鐨勮瘽,灏辨娴嬫槸鍚﹀瓨鍦ㄦ湭鍒嗛厤妤煎眰鐨勬埧闂�
for (int i = 0; i < listRoomFile.Count; i++)
{
try
@@ -163,6 +174,49 @@
}
catch (Exception ex) { HdlLogLogic.Current.WriteLog(ex); }
}
+ }
+
+ /// <summary>
+ /// 妫�娴嬫ゼ灞傛暟鎹殑鍚堟硶鎬�
+ /// </summary>
+ /// <param name="listRoomFile"></param>
+ private void CheckMemberFloorData(List<string> listRoomFile)
+ {
+ //娌℃湁妤煎眰,鍒欐棤闇�澶勭悊
+ if (Config.Instance.Home.FloorDics.Count == 0) { return; }
+
+ //鎴愬憳鐨勮瘽,灏辨娴嬫槸鍚﹀瓨鍦ㄦ病鏈夋埧闂寸殑妤煎眰
+ var listEsixtFloor = new List<string>();
+ for (int i = 0; i < listRoomFile.Count; i++)
+ {
+ try
+ {
+ var byteData = Global.ReadFileByHomeId(listRoomFile[i]);
+ string valueData = System.Text.Encoding.UTF8.GetString(byteData);
+ var roomTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.Room>(valueData);
+ if (roomTemp.FloorId != string.Empty && listEsixtFloor.Contains(roomTemp.FloorId) == false)
+ {
+ //鏀堕泦妤煎眰
+ listEsixtFloor.Add(roomTemp.FloorId);
+ }
+ }
+ catch (Exception ex) { HdlLogLogic.Current.WriteLog(ex); }
+ }
+ var listDeleteId = new List<string>();
+ foreach (var flootId in Config.Instance.Home.FloorDics.Keys)
+ {
+ if (listEsixtFloor.Contains(flootId) == false)
+ {
+ //濡傛灉杩欎釜id涓嶅瓨鍦ㄤ簬浠讳綍鎴块棿鐨勮瘽,鏀堕泦瀹�
+ listDeleteId.Add(flootId);
+ }
+ }
+ foreach (var deleteId in listDeleteId)
+ {
+ //鍒犻櫎杩欎釜id
+ Config.Instance.Home.FloorDics.Remove(deleteId);
+ }
+ Config.Instance.Home.Save(false);
}
#endregion
@@ -307,10 +361,19 @@
/// </summary>
/// <returns>鎴块棿鍚�</returns>
/// <param name="device">璁惧瀵硅薄</param>
- /// <param name="append">鍦ㄦゼ灞傚拰鎴块棿鍚嶅瓧鐨勪腑闂存坊鍔犵殑瀛楃(浠呴檺鏈夋ゼ灞傜殑鏃跺�欐湁鏁�)</param>
- public string GetRoomNameByDevice(CommonDevice device, string append = " ")
+ public string GetRoomNameByDevice(CommonDevice device)
{
var room = this.GetRoomByDevice(device);
+ return this.GetFloorRoomName(room);
+ }
+
+ /// <summary>
+ /// 鑾峰彇鎴块棿鍚嶅瓧(妤煎眰+鎴块棿鍚�)
+ /// </summary>
+ /// <returns>鎴块棿鍚�</returns>
+ /// <param name="room">鎴块棿瀵硅薄</param>
+ public string GetFloorRoomName(Room room)
+ {
if (room == null)
{
//鏈垎閰嶅尯鍩�
@@ -319,7 +382,7 @@
if (Config.Instance.Home.FloorDics.ContainsKey(room.FloorId) == true)
{
//(妤煎眰+鎴块棿鍚�)
- return Config.Instance.Home.FloorDics[room.FloorId] + append + room.Name;
+ return Config.Instance.Home.FloorDics[room.FloorId] + " " + room.Name;
}
return room.Name;
}
@@ -966,15 +1029,19 @@
}
var dic = new Dictionary<string, string>();
- for (int i = 0; i < listFloorSort.Count; i++)
- {
- if (Config.Instance.Home.FloorDics.ContainsKey(listFloorSort[i]) == true)
- {
- dic[listFloorSort[i]] = Config.Instance.Home.FloorDics[listFloorSort[i]];
- }
- }
-
- //淇濆瓨椤哄簭
+ if (listFloorSort != null)
+ {
+ for (int i = 0; i < listFloorSort.Count; i++)
+ {
+ if (Config.Instance.Home.FloorDics.ContainsKey(listFloorSort[i]) == true)
+ {
+ dic[listFloorSort[i]] = Config.Instance.Home.FloorDics[listFloorSort[i]];
+ }
+ }
+ }
+
+
+ //淇濆瓨椤哄簭
UserCenterLogic.SaveFileContent(fullName, listFloorSort);
return dic;
}
--
Gitblit v1.8.0