From 7066c7866a6e6faef9c1cbc0793cecf392454baa Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 05 一月 2021 17:50:15 +0800
Subject: [PATCH] 20201-1-5-1
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlControlLogic.cs | 504 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 310 insertions(+), 194 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlControlLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlControlLogic.cs
old mode 100755
new mode 100644
index 5a30994..a328d0f
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlControlLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlControlLogic.cs
@@ -1,194 +1,310 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter
-{
- /// <summary>
- /// 鎺т欢鐨勯�昏緫
- /// </summary>
- public class HdlControlLogic
- {
- #region 鈻� 鍙橀噺澹版槑___________________________
-
- /// <summary>
- /// 鎺т欢鐨勯�昏緫
- /// </summary>
- private static HdlControlLogic m_Current = null;
- /// <summary>
- /// 鎺т欢鐨勯�昏緫
- /// </summary>
- public static HdlControlLogic Current
- {
- get
- {
- if (m_Current == null)
- {
- m_Current = new HdlControlLogic();
- }
- return m_Current;
- }
- }
-
- #endregion
-
- #region 鈻� 璁$畻鍥剧墖鐪熷疄澶у皬___________________
-
- /// <summary>
- /// 璁$畻鍥剧墖鐨勭湡瀹為珮瀹藉害
- /// </summary>
- /// <param name="i_size"></param>
- /// <returns></returns>
- public int GetPictrueRealSize(int i_size)
- {
- return Application.GetRealWidth(i_size);
- }
-
- #endregion
-
- #region 鈻� 鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛╛____________
-
- /// <summary>
- /// 鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛�(褰撹繕娌℃湁鎴块棿鏃�,浼氳繑鍥瀎alse)
- /// </summary>
- /// <param name="RoomKey">榛樿閫夋嫨鐨勬埧闂翠富閿�</param>
- /// <param name="titleText">鏍囬淇℃伅</param>
- /// <param name="SelectRoomEvent">纭閫夋嫨鎴块棿鐨勫洖璋冨嚱鏁�(鎴块棿ID,鎴块棿鍚�(浼氭嫾涓婃ゼ灞�))</param>
- public bool ShowBottomListRoomView(string RoomKey, string titleText, Action<string, string> SelectRoomEvent)
- {
- //妤煎眰鍒楄〃鍚嶅瓧
- var listFloorName = new List<string>();
- //妤煎眰鍒楄〃涓婚敭
- var listFloorKeys = new List<string>();
- //鎴块棿鍚嶅瓧
- var listRoomName = new List<List<string>>();
- //鎴块棿涓婚敭
- var listRoomKeys = new List<List<string>>();
-
- //鍒濆鍖栨埧闂村垪琛ㄦ暟鎹�
- bool result = this.InitRoomListData(ref listFloorName, ref listFloorKeys, ref listRoomName, ref listRoomKeys);
- if (result == false)
- {
- return false;
- }
-
- var room = HdlRoomLogic.Current.GetRoomById(RoomKey);
- int index1 = room != null ? listFloorKeys.IndexOf(room.FloorId) : 0;
- if (index1 == -1) { index1 = 0; }
- int index2 = listRoomKeys[index1].IndexOf(RoomKey);
- if (index2 == -1) { index2 = 0; }
-
- if (listFloorKeys.Count == 0)
- {
- //鏃犳ゼ灞傛ā寮�
- PickerView.Show(listRoomName[0], (value) =>
- {
- RoomKey = listRoomKeys[0][value];
- string roomName = string.Empty;
- if (RoomKey != string.Empty)
- {
- //鎴块棿
- roomName = listRoomName[0][value];
- }
- else
- {
- roomName = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
- }
- SelectRoomEvent?.Invoke(RoomKey, roomName);
-
- }, index2, titleText,
- Language.StringByID(R.MyInternationalizationString.uFinish),
- Language.StringByID(R.MyInternationalizationString.uCancel));
- }
- else
- {
- //鏈夋ゼ灞傛ā寮�
- PickerView.ShowSecondary(listFloorName, listRoomName, (value1, value2) =>
- {
- RoomKey = listRoomKeys[value1][value2];
- string roomName = string.Empty;
- if (RoomKey != string.Empty)
- {
- //妤煎眰+鎴块棿
- roomName = listFloorName[value1] + " " + listRoomName[value1][value2];
- }
- else
- {
- roomName = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
- }
- SelectRoomEvent?.Invoke(RoomKey, roomName);
-
- }, index1, index2, titleText,
- Language.StringByID(R.MyInternationalizationString.uFinish),
- Language.StringByID(R.MyInternationalizationString.uCancel));
- }
- return true;
- }
-
- /// <summary>
- /// 鍒濆鍖栨埧闂村垪琛ㄦ暟鎹�
- /// </summary>
- /// <param name="listFloorName">妤煎眰鍒楄〃鍚嶅瓧</param>
- /// <param name="listFloorKeys">妤煎眰鍒楄〃涓婚敭</param>
- /// <param name="listRoomName">鎴块棿鍚嶅瓧</param>
- /// <param name="listRoomKeys">鎴块棿涓婚敭</param>
- private bool InitRoomListData(ref List<string> listFloorName, ref List<string> listFloorKeys, ref List<List<string>> listRoomName, ref List<List<string>> listRoomKeys)
- {
- var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
- if (dicFloor.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)
- {
- 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);
- listFloorKeys.Add("");
- listFloorName.Add(Language.StringByID(R.MyInternationalizationString.uUndistributed));
-
- foreach (string fKeys in dicFloor.Keys)
- {
- var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(fKeys, false);
- if (listRoom.Count > 0)
- {
- //妤煎眰鍚嶅瓧鍜屼富閿敹闆�
- listFloorKeys.Add(fKeys);
- 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);
- }
- }
- }
- //娌℃湁寤虹珛鎴块棿
- if (listFloorKeys.Count == 0 && listRoomKeys.Count == 0)
- {
- return false;
- }
- return true;
- }
-
- #endregion
- }
-}
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+ /// <summary>
+ /// 鎺т欢鐨勯�昏緫
+ /// </summary>
+ public class HdlControlLogic
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 鎺т欢鐨勯�昏緫
+ /// </summary>
+ private static HdlControlLogic m_Current = null;
+ /// <summary>
+ /// 鎺т欢鐨勯�昏緫
+ /// </summary>
+ public static HdlControlLogic Current
+ {
+ get
+ {
+ if (m_Current == null)
+ {
+ m_Current = new HdlControlLogic();
+ }
+ return m_Current;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 璁$畻鎺т欢鐪熷疄澶у皬___________________
+
+ /// <summary>
+ /// 璁$畻鍥剧墖鐨勭湡瀹為珮瀹藉害
+ /// </summary>
+ /// <param name="i_size"></param>
+ /// <returns></returns>
+ public int GetPictrueRealSize(int i_size)
+ {
+ return Application.GetRealWidth(i_size);
+ }
+
+ /// <summary>
+ /// 璁$畻鐪熷疄瀹藉害(鍙兘浠ュ悗浼氬彉鍔�,鎵�浠ュ0鏄庡嚭鏉ユ湁鐢ㄥ)
+ /// </summary>
+ /// <param name="i_size"></param>
+ /// <returns></returns>
+ public int GetRealWidth(int i_size)
+ {
+ return Application.GetRealWidth(i_size);
+ }
+
+ /// <summary>
+ /// 璁$畻鐪熷疄楂樺害搴�(鍙兘浠ュ悗浼氬彉鍔�,鎵�浠ュ0鏄庡嚭鏉ユ湁鐢ㄥ)
+ /// </summary>
+ /// <param name="i_size"></param>
+ /// <returns></returns>
+ public int GetRealHeight(int i_size)
+ {
+ return Application.GetRealHeight(i_size);
+ }
+
+ /// <summary>
+ /// 璁$畻鐪熷疄澶у皬(杩欎釜涓滆タ鏈夌壒娈婄敤澶�,鑰冭檻鍒板姞闀垮瀷灞忓箷鐨勬帶浠�,璋冪敤姝ゆ柟娉�)
+ /// </summary>
+ /// <param name="i_size"></param>
+ /// <returns></returns>
+ public int GetRealSizeEx(int i_size)
+ {
+ return Application.GetRealWidth(i_size);
+ }
+
+ #endregion
+
+ #region 鈻� 鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛╛____________
+
+ /// <summary>
+ /// 鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛�(褰撹繕娌℃湁鎴块棿鏃�,浼氳繑鍥瀎alse)
+ /// </summary>
+ /// <param name="RoomKey">榛樿閫夋嫨鐨勬埧闂翠富閿�</param>
+ /// <param name="titleText">鏍囬淇℃伅</param>
+ /// <param name="SelectRoomEvent">纭閫夋嫨鎴块棿鐨勫洖璋冨嚱鏁�(鎴块棿ID,鎴块棿鍚�(浼氭嫾涓婃ゼ灞�))</param>
+ public bool ShowBottomListRoomView(string RoomKey, string titleText, Action<string, string> SelectRoomEvent)
+ {
+ //妤煎眰鍒楄〃鍚嶅瓧
+ var listFloorName = new List<string>();
+ //妤煎眰鍒楄〃涓婚敭
+ var listFloorKeys = new List<string>();
+ //鎴块棿鍚嶅瓧
+ var listRoomName = new List<List<string>>();
+ //鎴块棿涓婚敭
+ var listRoomKeys = new List<List<string>>();
+
+ //鍒濆鍖栨埧闂村垪琛ㄦ暟鎹�
+ bool result = this.InitRoomListData(ref listFloorName, ref listFloorKeys, ref listRoomName, ref listRoomKeys);
+ if (result == false)
+ {
+ return false;
+ }
+
+ var room = HdlRoomLogic.Current.GetRoomById(RoomKey);
+ int index1 = room != null ? listFloorKeys.IndexOf(room.FloorId) : 0;
+ if (index1 == -1) { index1 = 0; }
+ int index2 = listRoomKeys[index1].IndexOf(RoomKey);
+ if (index2 == -1) { index2 = 0; }
+
+ if (listFloorKeys.Count == 0)
+ {
+ //鏃犳ゼ灞傛ā寮�
+ PickerView.Show(listRoomName[0], (value) =>
+ {
+ RoomKey = listRoomKeys[0][value];
+ string roomName = string.Empty;
+ if (RoomKey != string.Empty)
+ {
+ //鎴块棿
+ roomName = listRoomName[0][value];
+ }
+ else
+ {
+ roomName = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
+ }
+ SelectRoomEvent?.Invoke(RoomKey, roomName);
+
+ }, index2, titleText,
+ Language.StringByID(R.MyInternationalizationString.uFinish),
+ Language.StringByID(R.MyInternationalizationString.uCancel));
+ }
+ else
+ {
+ //鏈夋ゼ灞傛ā寮�
+ PickerView.ShowSecondary(listFloorName, listRoomName, (value1, value2) =>
+ {
+ RoomKey = listRoomKeys[value1][value2];
+ string roomName = string.Empty;
+ if (RoomKey != string.Empty)
+ {
+ //妤煎眰+鎴块棿
+ roomName = listFloorName[value1] + " " + listRoomName[value1][value2];
+ }
+ else
+ {
+ roomName = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
+ }
+ SelectRoomEvent?.Invoke(RoomKey, roomName);
+
+ }, index1, index2, titleText,
+ Language.StringByID(R.MyInternationalizationString.uFinish),
+ Language.StringByID(R.MyInternationalizationString.uCancel));
+ }
+ return true;
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栨埧闂村垪琛ㄦ暟鎹�
+ /// </summary>
+ /// <param name="listFloorName">妤煎眰鍒楄〃鍚嶅瓧</param>
+ /// <param name="listFloorKeys">妤煎眰鍒楄〃涓婚敭</param>
+ /// <param name="listRoomName">鎴块棿鍚嶅瓧</param>
+ /// <param name="listRoomKeys">鎴块棿涓婚敭</param>
+ private bool InitRoomListData(ref List<string> listFloorName, ref List<string> listFloorKeys, ref List<List<string>> listRoomName, ref List<List<string>> listRoomKeys)
+ {
+ var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
+ if (dicFloor.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)
+ {
+ 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);
+ listFloorKeys.Add("");
+ listFloorName.Add(Language.StringByID(R.MyInternationalizationString.uUndistributed));
+
+ foreach (string fKeys in dicFloor.Keys)
+ {
+ var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(fKeys, false);
+ if (listRoom.Count > 0)
+ {
+ //妤煎眰鍚嶅瓧鍜屼富閿敹闆�
+ listFloorKeys.Add(fKeys);
+ 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);
+ }
+ }
+ }
+ //娌℃湁寤虹珛鎴块棿
+ if (listFloorKeys.Count == 0 && listRoomKeys.Count == 0)
+ {
+ return false;
+ }
+ return true;
+ }
+
+ #endregion
+
+ #region 鈻� 鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛╛____________
+
+ /// <summary>
+ /// 鏄剧ず搴曢儴寮圭獥鐨勬椂闂村垪琛�
+ /// </summary>
+ /// <param name="hKey">閫夋嫨鐨勬椂闂翠富閿�</param>
+ /// <param name="mKey">閫夋嫨鐨勫垎閽熶富閿�</param>
+ /// <param name="titleText">鏍囬淇℃伅</param>
+ /// <param name="SelectTimeEvent">纭閫夋嫨鏃堕棿鐨勫洖璋冨嚱鏁� </param>
+ /// <param name="type">鏅捐。鏋舵椂闂� 锛�1鐑樺共锛�2:椋庡共锛�3娑堟瘨</param>
+ public bool ShowBottomListTimeView(string hKey, string mKey, string titleText, Action<string, string> SelectTimeEvent, int type)
+ {
+ //灏忔椂鍒楄〃鍚嶅瓧
+ var listHourName = new List<string>();
+ //灏忔椂鍒楄〃涓婚敭
+ var listHourKeys = new List<string>();
+ //鍒嗛挓鍚嶅瓧
+ var listMinName = new List<List<string>>();
+ //鍒嗛挓涓婚敭
+ var listMinKeys = new List<List<string>>();
+ var listKeys = new List<string>() { "" };
+ var listName = new List<string>() { "" };
+ if (type == 3)
+ {
+ //鍚嶅瓧鍜岄敭鏀堕泦
+ for (int i = 1; i < 31; i++)
+ {
+ listName.Add(i.ToString());
+ listKeys.Add(i.ToString());
+ }
+ listMinName.Add(listName);
+ listMinKeys.Add(listKeys);
+ }
+ else
+ {
+ //鍚嶅瓧鍜岄敭鏀堕泦
+ for (int i = 0; i < 4; i++)
+ {
+ listHourName.Add(i.ToString());
+ listHourKeys.Add((i + 1).ToString());
+ }
+ for (int i = 0; i < 60; i++)
+ {
+ listName.Add(i.ToString());
+ listKeys.Add((i + 1).ToString());
+ }
+ listMinName.Add(listName);
+ listMinKeys.Add(listKeys);
+ }
+
+ int index1 = hKey != null ? int.Parse(hKey) : 0;
+ int index2 = mKey != null ? int.Parse(mKey) : 0;
+
+ if (type == 3)
+ {
+ //鍙湁鍒嗛挓锛屾秷姣掓椂闂�
+ PickerView.Show(
+ listMinName[0],
+ (value) =>
+ {
+ mKey = listMinKeys[0][value];
+ SelectTimeEvent?.Invoke(mKey, listMinKeys[0][value]);
+ },
+ index2,
+ titleText,
+ Language.StringByID(R.MyInternationalizationString.uFinish),
+ Language.StringByID(R.MyInternationalizationString.uCancel));
+ }
+ else
+ {
+ //鏈夊皬鏃讹紝鍒嗛挓
+ PickerView.ShowSecondary(listHourName, listMinName, (value1, value2) =>
+ {
+ mKey = listMinKeys[value1][value2];
+ string name = listHourName[value1] + " " + listMinName[value1][value2];
+ SelectTimeEvent?.Invoke(mKey, name);
+
+ }, index1, index2, titleText,
+ Language.StringByID(R.MyInternationalizationString.uFinish),
+ Language.StringByID(R.MyInternationalizationString.uCancel));
+ }
+ return true;
+ }
+ #endregion
+
+ }
+}
--
Gitblit v1.8.0