From 2e7e5f9af5b32cfe1fc3c6ba40bf7eb984bbd0a4 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 11 五月 2020 17:52:06 +0800
Subject: [PATCH] ???????
---
ZigbeeApp/Shared/Common/House.cs | 123 ++++++++++++++++++-----------------------
1 files changed, 54 insertions(+), 69 deletions(-)
diff --git a/ZigbeeApp/Shared/Common/House.cs b/ZigbeeApp/Shared/Common/House.cs
index d734fa2..96aeddc 100755
--- a/ZigbeeApp/Shared/Common/House.cs
+++ b/ZigbeeApp/Shared/Common/House.cs
@@ -23,17 +23,14 @@
return $"House_{Id}.json";
}
}
-
/// <summary>
/// 浣忓畢id--浣跨敤浜戠鎻愪緵鐨勪綇瀹呭敮涓�Id
/// </summary>
public string Id = string.Empty;
-
/// <summary>
/// 浣忓畢鍚嶇О
/// </summary>
public string Name = string.Empty;
-
/// <summary>
/// 鏄惁涓哄叾浠栦富鐢ㄦ埛鍒嗕韩杩囨潵鐨勪綇瀹�
/// </summary>
@@ -42,7 +39,10 @@
/// 褰撳墠浣忓畢鏄叾浠栦富甯愬彿鍒嗕韩杩囨潵鐨勪富甯愬彿鐨勫垎甯冨紡Id
/// </summary>
public string MainUserDistributedMark;
-
+ /// <summary>
+ /// 璇ヤ綇瀹呮槸鍚︽槸铏氭嫙鐨�,true鐨勮瘽浠h〃缃戝叧鍜岃澶囬兘鏄櫄鎷熺殑(榛樿涓篺alse)
+ /// </summary>
+ public bool IsVirtually = false;
/// <summary>
/// 浠呭瓙璐﹀彿鐧婚檰鐨勬椂鍊欎娇鐢�,褰撱�怚sOthreShare銆戜负"true"锛屽苟涓斻�怉ccountType銆戜负"1"鏃讹紝璇ヨ处鍙锋嫢鏈夌鐞嗗憳鏉冮檺
/// </summary>
@@ -55,12 +55,14 @@
/// 绾害
/// </summary>
public double Latitude = 0;
-
- /// <summary>
- /// 鎴块棿璺緞鍒楄〃
+ /// <summary>
+ /// 浣忓畢鎵�鍦ㄧ殑鍦扮悊浣嶇疆鐨勫悕绉�
/// </summary>
- public List<string> RoomFilePathList = new List<string> { };
-
+ public string ResidenceAddressName = string.Empty;
+ /// <summary>
+ /// 鎴块棿鍒楄〃(鎴块棿鐨処D)
+ /// </summary>
+ public List<string> ListRooms = new List<string>();
/// <summary>
/// 妤煎眰瀛楀吀
/// key:FloorId
@@ -70,28 +72,7 @@
/// <summary>
/// 褰撳墠妤煎眰Id
/// </summary>
- public string CurrentFloorId;
-
- /// <summary>
- /// 鍏ㄥ眬鍦烘櫙璺緞鍒楄〃---澶囩敤
- /// </summary>
- public List<string> SceneFilePathList = new List<string> { };
- /// <summary>
- /// 璁惧璺緞鍒楄〃---澶囩敤
- /// </summary>
- public List<string> DeviceFilePathList = new List<string> { };
- /// <summary>
- /// 鍔熻兘璺緞鍒楄〃---澶囩敤
- /// </summary>
- public List<string> FunctionFilePathList = new List<string> { };
- /// <summary>
- /// 閫氱敤鏍囪瘑--澶囩敤
- /// </summary>
- public object Tag;
- /// <summary>
- /// 鏈熴�佹爧銆佸眰绛夊尯鍩�---澶囩敤
- /// </summary>
- public Dictionary<string, string> LocationInfoList = new Dictionary<string, string> { };
+ public string CurrentFloorId = string.Empty;
#endregion
@@ -182,14 +163,19 @@
/// <param name="houseName">House name.</param>
public static void EditorHouseByHouseId(string houseId, string houseName)
{
+ if (Config.Instance.Home.Id == houseId)
+ {
+ Config.Instance.Home.Name = houseName;
+ }
var home = GetHouseByHouseId(houseId);
if (home == null)
{
return;
}
home.Name = houseName;
- home.Save();
- Config.Instance.Save();
+ home.Save();
+ //浣忓畢淇敼鍚嶇О鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂�
+ Phone.UserView.UserPage.Instance.RefreshForm = true;
}
#endregion
@@ -266,23 +252,12 @@
//褰撲綇瀹呬负绌烘椂鍏堟彁绀虹敤鎴锋柊寤轰綇瀹�
var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.CurrentlyTheUserIshHouseIsEmptyPleaseBuildANewHouseFirst), Language.StringByID(R.MyInternationalizationString.Close), Language.StringByID(R.MyInternationalizationString.Confrim));
alert.Show();
- alert.ResultEventHandler += (sender, e) =>
- {
- if (e)
- {
- //
- }
- };
}
else
{
//娓呯┖褰撳墠浣忓畢鍒楄〃
Config.Instance.HomeFilePathList.Clear();
- if (Config.Instance.HomeId == string.Empty && responseDataObj.PageData.Count > 0)
- {
- //璧嬩竴涓垵濮嬪��
- Config.Instance.HomeId = responseDataObj.PageData[0].Id;
- }
+ var listHouse = new List<House>();
foreach (var residence in responseDataObj.PageData)
{
Config.Instance.HomeFilePathList.Add($"House_{residence.Id}.json");
@@ -312,11 +287,23 @@
}
Global.CreateHomeDirectory(residence.Id);
house.Save(false);
+ listHouse.Add(house);
}
- //鍖归厤褰撳墠浣忓畢
- if (Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null)
+ //濡傛灉鍒囨崲浜嗚处鍙�,鎴栬�呭師鏉ョ殑id涓嶅瓨鍦�,鍒欓噸缃綇瀹匢D
+ if (Config.Instance.TheSameLoginAccount == false ||
+ Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null)
{
- Config.Instance.HomeId = GetHouseIdByFilePath(Config.Instance.HomeFilePathList[0]);
+ Config.Instance.HomeId = listHouse[0].Id;
+ foreach (var house in listHouse)
+ {
+ //鍒濆閫夋嫨瀹冭嚜宸辩殑浣忓畢
+ if (house.IsOthreShare == false)
+ {
+ Config.Instance.HomeId = house.Id;
+ Config.Instance.Home = House.GetHouseByHouseId(house.Id);
+ break;
+ }
+ }
}
Config.Instance.Save();
}
@@ -414,6 +401,7 @@
/// GetCurrentFloorName
/// </summary>
/// <returns></returns>
+ [Newtonsoft.Json.JsonIgnore]
public string GetCurrentFloorName
{
get
@@ -431,7 +419,7 @@
{
if (Config.Instance.Home.FloorDics.Count == 0)
{
- return null;
+ return string.Empty;
}
foreach (var floor in Config.Instance.Home.FloorDics)
@@ -440,13 +428,14 @@
{
return floor.Value;
}
- }
- return null;
+ }
+ return string.Empty;
}
+
/// <summary>
- /// InitFloor
+ /// 璁剧疆褰撳墠妤煎眰鐨処D
/// </summary>
- public void InitFloor()
+ public void SetCurrentFloorId()
{
if (Config.Instance.Home.FloorDics.Count > 0 && string.IsNullOrEmpty(CurrentFloorId))
{
@@ -466,19 +455,17 @@
#region 鈼� 娣诲姞鎴块棿璺緞_________________________
/// <summary>
- /// 娣诲姞銆愭埧闂磋矾寰勩�戝埌鎴块棿璺緞鍒楄〃
+ /// 娣诲姞鎴块棿ID
/// </summary>
/// <returns><c>true</c>, if room list file path was added, <c>false</c> otherwise.</returns>
/// <param name="roomFilePath">Room file path.</param>
- public bool AddRoomListFilePath(string roomFilePath)
+ public void AddRoomId(string roomId)
{
- if (RoomFilePathList.Contains(roomFilePath))
- {
- return false;
+ if (ListRooms.Contains(roomId) == false)
+ {
+ ListRooms.Add(roomId);
+ this.Save();
}
- RoomFilePathList.Add(roomFilePath);
- Save();
- return true;
}
#endregion
@@ -486,19 +473,17 @@
#region 鈼� 鍒犻櫎鎴块棿璺緞_________________________
/// <summary>
- /// 绉婚櫎鎴块棿璺緞
+ /// 绉婚櫎鎴块棿Id
/// </summary>
/// <returns><c>true</c>, if room list file path was added, <c>false</c> otherwise.</returns>
/// <param name="roomFilePath">Room file path.</param>
- public bool RemoveRoomListFilePath(string roomFilePath)
+ public void RemoveRoomId(string roomId)
{
- if (!RoomFilePathList.Contains(roomFilePath))
- {
- return false;
+ if (ListRooms.Contains(roomId)==true)
+ {
+ ListRooms.Remove(roomId);
+ Save();
}
- RoomFilePathList.Remove(roomFilePath);
- Save();
- return true;
}
#endregion
--
Gitblit v1.8.0