From 18a7f9f40e5fab3bee5d4ac3d8fd0273dea052d6 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期日, 26 四月 2020 12:05:28 +0800
Subject: [PATCH] 先上传一个非最新的版本
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs | 148 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 117 insertions(+), 31 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..267b219 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
@@ -55,14 +55,36 @@
}
/// <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>
/// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍥炶矾)
/// </summary>
/// <param name="i_caption">鏍囬鏂囨湰</param>
/// <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