From ea0459ec04f155ceec5eb59c796379826d005ea4 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 13 五月 2020 17:13:42 +0800
Subject: [PATCH] 2020-05-13
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs | 150 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 118 insertions(+), 32 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
index 9b4ae07..4bd0902 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
@@ -47,11 +47,33 @@
/// <summary>
/// 鎵�灞炲尯鍩熺殑鎺т欢
/// </summary>
- /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(鐪熷疄鍊�,鏈変簺鐣岄潰闇�瑕佽繖绉嶇壒娈婃搷浣�)</param>
+ /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param>
public BelongAreaControl(int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis)
{
//鍒濆鍖栨暟鎹�
this.InitData();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍦烘櫙)
+ /// </summary>
+ /// <param name="i_caption">鏍囬鏂囨湰</param>
+ /// <param name="i_roomId">鎴块棿ID</param>
+ public void InitControl(string i_caption, string i_roomId)
+ {
+ var room = HdlRoomLogic.Current.GetRoomById(i_roomId);
+ this.DoInitControl(i_caption, room);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸缃戝叧)
+ /// </summary>
+ /// <param name="i_caption">鏍囬鏂囨湰</param>
+ /// <param name="i_gateway">缃戝叧瀵硅薄</param>
+ public void InitControl(string i_caption, ZigBee.Device.ZbGateway i_gateway)
+ {
+ var room = HdlGatewayLogic.Current.GetRoomByGateway(i_gateway);
+ this.DoInitControl(i_caption, room);
}
/// <summary>
@@ -61,8 +83,8 @@
/// <param name="i_device">璁惧瀵硅薄</param>
public void InitControl(string i_caption, ZigBee.Device.CommonDevice i_device)
{
- var room = Common.Room.CurrentRoom.GetRoomByDevice(i_device);
- this.InitControl(i_caption, room);
+ var room = HdlRoomLogic.Current.GetRoomByDevice(i_device);
+ this.DoInitControl(i_caption, room);
}
/// <summary>
@@ -72,8 +94,8 @@
/// <param name="i_listDevice">璁惧瀵硅薄</param>
public void InitControl(string i_caption, List<ZigBee.Device.CommonDevice> i_listDevice)
{
- var room = Common.Room.CurrentRoom.GetRoomById(i_listDevice[0].DeviceRoomId);
- this.InitControl(i_caption, room);
+ var room = Common.LocalDevice.Current.GeteRealDeviceRoom(i_listDevice[0]);
+ this.DoInitControl(i_caption, room);
}
/// <summary>
@@ -81,7 +103,7 @@
/// </summary>
/// <param name="i_caption"></param>
/// <param name="i_Room"></param>
- private void InitControl(string i_caption, Common.Room i_Room)
+ private void DoInitControl(string i_caption, Common.Room i_Room)
{
if (i_Room == null)
{
@@ -131,9 +153,15 @@
txtView.Y += chidrenYaxis;
}
- if (IsSharedRoom == true || this.listFloorKeys.Count == 0)
+ if (IsSharedRoom == true)
{
- //濡傛灉杩欎釜璁惧浣嶄簬鍒嗕韩鐨勬埧闂�,鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀�
+ //濡傛灉杩欎釜璁惧浣嶄簬鍒嗕韩鐨勬埧闂�
+ this.UseClickStatu = false;
+ return;
+ }
+ if (this.listFloorKeys.Count == 0 && listRoomKeys.Count == 0)
+ {
+ //鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀�
this.UseClickStatu = false;
return;
}
@@ -152,25 +180,51 @@
/// </summary>
private void InitData()
{
- var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
- foreach (string fKeys in dicFloor.Keys)
+ var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
+ if (dicFloor.Count == 0)
{
- var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(fKeys, false);
- if (listRoom.Count > 0)
+ //绗竴浣嶉粯璁ゆ坊鍔犳湭鍒嗛厤
+ var listKeys = new List<string>() { "" };
+ var listName = new List<string>() { Language.StringByID(R.MyInternationalizationString.uUndistributed) };
+ //鎴块棿鍚嶅瓧鍜屼富閿敹闆�
+ var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(string.Empty, false);
+ foreach (var myRoom in listRoom)
{
- //妤煎眰鍚嶅瓧鍜屼富閿敹闆�
- this.listFloorKeys.Add(fKeys);
- this.listFloorName.Add(dicFloor[fKeys]);
- //鎴块棿鍚嶅瓧鍜屼富閿敹闆�
- var listName = new List<string>();
- var listKeys = new List<string>();
- foreach (var myRoom in listRoom)
+ listName.Add(myRoom.Name);
+ listKeys.Add(myRoom.Id);
+ }
+ listRoomName.Add(listName);
+ listRoomKeys.Add(listKeys);
+ }
+ else
+ {
+ //绗竴浣嶉粯璁ゆ坊鍔犳湭鍒嗛厤(鏈垎閰嶆斁鍦ㄦゼ灞傞偅涓彍鍗�)
+ var listKeys = new List<string>() { "" };
+ var listName = new List<string>() { "" };
+ listRoomName.Add(listName);
+ listRoomKeys.Add(listKeys);
+ this.listFloorKeys.Add("");
+ this.listFloorName.Add(Language.StringByID(R.MyInternationalizationString.uUndistributed));
+
+ foreach (string fKeys in dicFloor.Keys)
+ {
+ var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(fKeys, false);
+ if (listRoom.Count > 0)
{
- listName.Add(myRoom.Name);
- listKeys.Add(myRoom.Id);
+ //妤煎眰鍚嶅瓧鍜屼富閿敹闆�
+ this.listFloorKeys.Add(fKeys);
+ this.listFloorName.Add(dicFloor[fKeys]);
+ //鎴块棿鍚嶅瓧鍜屼富閿敹闆�
+ listName = new List<string>();
+ listKeys = new List<string>();
+ foreach (var myRoom in listRoom)
+ {
+ listName.Add(myRoom.Name);
+ listKeys.Add(myRoom.Id);
+ }
+ listRoomName.Add(listName);
+ listRoomKeys.Add(listKeys);
}
- listRoomName.Add(listName);
- listRoomKeys.Add(listKeys);
}
}
}
@@ -191,17 +245,49 @@
int index2 = this.listRoomKeys[index1].IndexOf(RoomKey);
if (index2 == -1) { index2 = 0; }
- PickerView.ShowSecondary(this.listFloorName, this.listRoomName, (value1, value2) =>
+ if (this.listFloorKeys.Count == 0)
{
- //妤煎眰+鎴块棿
- txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2];
- FloorKey = this.listFloorKeys[value1];
- RoomKey = this.listRoomKeys[value1][value2];
- this.SelectRoomEvent?.Invoke(RoomKey);
+ //鏃犳ゼ灞傛ā寮�
+ PickerView.Show(this.listRoomName[0], (value) =>
+ {
+ RoomKey = this.listRoomKeys[0][value];
+ if (RoomKey != string.Empty)
+ {
+ //鎴块棿
+ txtView.Text = this.listRoomName[0][value];
+ }
+ else
+ {
+ txtView.Text = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
+ }
+ this.SelectRoomEvent?.Invoke(RoomKey);
- }, index1, index2, i_caption,
- Language.StringByID(R.MyInternationalizationString.uFinish),
- Language.StringByID(R.MyInternationalizationString.uCancel));
+ }, index2, i_caption,
+ Language.StringByID(R.MyInternationalizationString.uFinish),
+ Language.StringByID(R.MyInternationalizationString.uCancel));
+ }
+ else
+ {
+ //鏈夋ゼ灞傛ā寮�
+ PickerView.ShowSecondary(this.listFloorName, this.listRoomName, (value1, value2) =>
+ {
+ FloorKey = this.listFloorKeys[value1];
+ RoomKey = this.listRoomKeys[value1][value2];
+ if (RoomKey != string.Empty)
+ {
+ //妤煎眰+鎴块棿
+ txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2];
+ }
+ else
+ {
+ txtView.Text = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
+ }
+ this.SelectRoomEvent?.Invoke(RoomKey);
+
+ }, index1, index2, i_caption,
+ Language.StringByID(R.MyInternationalizationString.uFinish),
+ Language.StringByID(R.MyInternationalizationString.uCancel));
+ }
}
#endregion
--
Gitblit v1.8.0