From a5b3c4bae726ef6770d4bfcbf2f4b50a37ed4a15 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期五, 06 三月 2020 15:31:36 +0800
Subject: [PATCH] 删除了郭雪城的 DeviceUi 这个类
---
ZigbeeApp/Shared/Common/Device.cs | 155 ++++++++++++++++++++++++++++-----------------------
1 files changed, 84 insertions(+), 71 deletions(-)
diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 35989ca..e91f2c2 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -45,12 +45,14 @@
{
lock (dicAllDevice)
{
- var list = new List<CommonDevice>();
- foreach (var device in dicAllDevice.Values)
+ //鍏堣幏鍙栧叏閮ㄧ殑Mac
+ var listMac = new List<string>();
+ foreach (var strMac in this.dicDeviceEpoint.Keys)
{
- list.Add(device);
+ listMac.Add(strMac);
}
- return list;
+ //鏍规嵁MAC鍦板潃,鑾峰彇鍏ㄩ儴鍥炶矾鐨勮澶囧璞�(寮哄埗鎺掑簭)
+ return this.GetDevicesByMac(listMac);
}
}
}
@@ -241,7 +243,16 @@
//鑾峰彇杩欎釜缃戝叧鐨勬湰鍦版墍鏈夎澶�
string gwID = HdlGatewayLogic.Current.GetGatewayId(zbGateway);
- List<CommonDevice> listLocalDevices = this.GetDeviceByGatewayID(gwID, true);
+ List<CommonDevice> listLocalDevices = this.GetDeviceByGatewayID(gwID);
+ //鑾峰彇ota璁惧
+ foreach (var ota in this.dicOTADevice.Values)
+ {
+ if (ota.CurrentGateWayId == gwID)
+ {
+ listLocalDevices.Add(ota);
+ }
+ }
+
Dictionary<string, CommonDevice> dicExist = new Dictionary<string, CommonDevice>();
foreach (var device in listLocalDevices)
{
@@ -555,12 +566,12 @@
/// <param name="deleteRoom">鏄惁浠庢埧闂村垹闄�</param>
public void DeleteMemmoryDevice(CommonDevice device, bool deleteRoom = true)
{
- if (deleteRoom == true && Room.CurrentRoom != null)
+ if (deleteRoom == true && HdlRoomLogic.Current.CurrentRoom != null)
{
//浠庢埧闂翠腑鍒犻櫎
- Room.CurrentRoom.DeleteDevice(device);
+ HdlRoomLogic.Current.DeleteDevice(device);
//鍒犻櫎鎴戠殑鍠滅埍鐨勮澶�
- Room.CurrentRoom.DeleteLoveDevice(device);
+ HdlRoomLogic.Current.DeleteLoveDevice(device);
}
//鍒犻櫎缂撳瓨
@@ -702,36 +713,23 @@
/// <summary>
/// 鏍规嵁缃戝叧ID鑾峰彇鎵�鏈夌殑璁惧
/// </summary>
- /// <param name="gwId">缃戝叧ID</param>
- /// <param name="getOtaDevice">鏄惁鑾峰彇ota璁惧</param>
+ /// <param name="gwId">缃戝叧ID</param>>
/// <returns></returns>
- public List<CommonDevice> GetDeviceByGatewayID(string gwId, bool getOtaDevice = false)
+ public List<CommonDevice> GetDeviceByGatewayID(string gwId)
{
- List<CommonDevice> list = new List<CommonDevice>();
lock (dicAllDevice)
{
- //鍚勭綉鍏崇殑鎵�鏈夎澶�
+ var listMac = new List<string>();
+ //鍚勭綉鍏崇殑鎵�鏈夎澶囩殑Mac
foreach (CommonDevice device in this.dicAllDevice.Values)
{
if (gwId == device.CurrentGateWayId)
{
- list.Add(device);
+ listMac.Add(device.DeviceAddr);
}
}
- if (getOtaDevice == true)
- {
- //鑾峰彇ota璁惧
- foreach (var ota in this.dicOTADevice.Values)
- {
- if (ota.CurrentGateWayId == gwId)
- {
- list.Add(ota);
- }
- }
- }
+ return this.GetDevicesByMac(listMac);
}
-
- return list;
}
/// <summary>
@@ -798,6 +796,39 @@
}
return -1;
});
+ return list;
+ }
+
+ /// <summary>
+ /// 鏍规嵁MAC鍦板潃,鑾峰彇鍏ㄩ儴鍥炶矾鐨勮澶囧璞�(寮哄埗鎺掑簭)
+ /// </summary>
+ /// <param name="DeviceAddr">Mac鍦板潃</param>
+ /// <returns></returns>
+ public List<CommonDevice> GetDevicesByMac(List<string> listMacAddr)
+ {
+ //鍏堟帓搴�
+ listMacAddr.Sort();
+
+ var list = new List<CommonDevice>();
+ foreach (string strMac in listMacAddr)
+ {
+ var listEpoint = new List<int>();
+ //鑾峰彇鍏ㄩ儴鐨勭鐐�
+ foreach (int epoint in this.dicDeviceEpoint[strMac])
+ {
+ listEpoint.Add(epoint);
+ }
+ //鐒跺悗鎺掑簭
+ listEpoint.Sort();
+ foreach (int epoint in listEpoint)
+ {
+ var device = this.GetDevice(strMac, epoint);
+ if (device != null)
+ {
+ list.Add(device);
+ }
+ }
+ }
return list;
}
@@ -1266,43 +1297,6 @@
#endregion
- #region 鈻� 璁惧UI鐩稿叧_________________________
-
- /// <summary>
- /// 鑾峰彇璁惧鎵�鍖归厤鐨勮澶嘦I瀵硅薄
- /// </summary>
- /// <param name="device"></param>
- /// <returns></returns>
- public DeviceUI GetDeviceUI(CommonDevice device)
- {
- //鍒涘缓涓�涓柊鐨勪笢瑗跨粰杩囧幓
- var deviceUi = new DeviceUI();
- deviceUi.DeviceAddr = device.DeviceAddr;
- deviceUi.DeviceEpoint = device.DeviceEpoint;
- return deviceUi;
- }
-
- /// <summary>
- /// 鑾峰彇璁惧鎵�鍖归厤鐨勮澶嘦I瀵硅薄
- /// </summary>
- /// <param name="filePath"></param>
- /// <returns></returns>
- public DeviceUI GetDeviceUI(string filePath)
- {
- string[] arry = filePath.Split(new string[] { "_" }, StringSplitOptions.RemoveEmptyEntries);
- if (arry.Length != 4)
- {
- return null;
- }
- //鍒涘缓涓�涓柊鐨勪笢瑗跨粰杩囧幓
- var deviceUi = new DeviceUI();
- deviceUi.DeviceAddr = arry[2];
- deviceUi.DeviceEpoint = Convert.ToInt32(arry[3]);
- return deviceUi;
- }
-
- #endregion
-
#region 鈻� 鑾峰彇鑷畾涔夌殑璁惧绫诲瀷_______________
/// <summary>
@@ -1329,7 +1323,11 @@
return info;
}
//鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨��
- return this.GetNotHdlMyDeviceEnumInfo(listdevice);
+ info = this.GetNotHdlMyDeviceEnumInfo(listdevice);
+ //杩欓噷鍐嶆鍒ゆ柇鏄惁鏄渤涓滆澶�,鏈夊彲鑳藉畠鐨勬ā鍧桰D鍐欓敊浜�
+ info.IsHdlDevice = this.IsHdlDevice(checkDevice);
+
+ return info;
}
/// <summary>
@@ -1774,7 +1772,7 @@
//鍗曠函鍙槸Ota璁惧鍒欎笉澶勭悊
return;
}
- Common.Room.CurrentRoom.ChangedRoom(listDevice[0], roomId, false);
+ HdlRoomLogic.Current.ChangedRoom(listDevice[0], roomId, false);
}
}
@@ -1790,7 +1788,7 @@
//鏈垎閰嶅尯鍩�
return Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
}
- var room = Room.CurrentRoom.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]);
+ var room = HdlRoomLogic.Current.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]);
if (room != null)
{
return room.Name;
@@ -1810,7 +1808,7 @@
{
return null;
}
- return Room.CurrentRoom.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]);
+ return HdlRoomLogic.Current.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]);
}
#endregion
@@ -1834,7 +1832,7 @@
/// <returns></returns>
public string GetDeviceMainKeys(CommonDevice device)
{
- return device.DeviceAddr + device.DeviceEpoint;
+ return this.GetDeviceMainKeys(device.DeviceAddr, device.DeviceEpoint);
}
/// <summary>
@@ -1845,7 +1843,7 @@
/// <returns></returns>
public string GetDeviceMainKeys(string DeviceAddr, int DeviceEpoint)
{
- return DeviceAddr + DeviceEpoint;
+ return DeviceAddr + "_" + DeviceEpoint;
}
/// <summary>
@@ -2064,6 +2062,8 @@
statu = 2;
}
}
+
+ statu = 1;
return listDevice;
}
@@ -2254,9 +2254,10 @@
//*********************************************************************
//鏂拌澶囨坊鍔犳柟娉曪細
//1銆佸湪杩欓噷濉啓涓婃ā鍧桰D锛岀劧鍚庢槸 DeviceConcreteType 锛岀劧鍚庢槸 DeviceBeloneType
- //2銆佺劧鍚庡湪鏈�涓嬮潰娣诲姞銆愯澶囩殑鍏蜂綋绫诲瀷銆戯紝銆愯澶囩殑鎵�灞炵被鍨嬨��
+ //2銆佺劧鍚庡湪鏈�涓嬮潰鐨勩�愯嚜瀹氫箟璁惧绫诲瀷銆戞姌鍙犳爮閲屾坊鍔犮�愯澶囩殑鍏蜂綋绫诲瀷銆戯紝銆愯澶囩殑鎵�灞炵被鍨嬨��
//3銆佷互璁惧鐨勫叿浣撶被鍨嬩负鍚嶅瓧(鍘绘帀銆�-銆�)娣诲姞璁惧鐨勩�愭墍灞炲浘鐗囥�戯紝銆愮湡瀹炵墿鐞嗗浘鐗囥�戙�傚洖璺浘鐗囬渶瑕佺壒娈婂鐞�
//4銆佹坊鍔燫鏂囦欢,娣诲姞Language鏂囦欢
+ //5銆佸鏋滈渶瑕佸叡鏈夊浘鐗�,鍒欏湪杩欎釜鍑芥暟鐨勬渶搴曚笅娣诲姞
//*********************************************************************
//=========鈽呪槄寮�鍚堝笜绫�(100-199)鈽呪槄=========
@@ -2272,6 +2273,8 @@
this.dicDeviceModelIdEnum["MPT4R4L/S-ZB.18"] = "220-200";//绠�绾�4鎸夐敭闈㈡澘
this.dicDeviceModelIdEnum["MPT3R3L/S-ZB.18"] = "221-200";//绠�绾�3鎸夐敭闈㈡澘
this.dicDeviceModelIdEnum["MPT2R2L/S-ZB.18"] = "222-200";//绠�绾�2鎸夐敭闈㈡澘
+ this.dicDeviceModelIdEnum["MPT4SC/S-ZB.18"] = "224-200";//绠�绾�4鎸夐敭鍦烘櫙闈㈡澘
+ this.dicDeviceModelIdEnum["MPT2W/S-ZB.18"] = "226-200";//绠�绾�2璺獥甯橀潰鏉�
this.dicDeviceModelIdEnum["MP2B/TILE-ZB.18"] = "240-200";//鏂规偊2鎸夐敭杞昏Е寮忛潰鏉�
this.dicDeviceModelIdEnum["MP4B/TILE-ZB.18"] = "241-200";//鏂规偊4鎸夐敭杞昏Е寮忛潰鏉�
this.dicDeviceModelIdEnum["MP8B/TILE-ZB.18"] = "242-200";//鏂规偊8鎸夐敭杞昏Е寮忛潰鏉�
@@ -2326,6 +2329,8 @@
//鉁┾湬鉁┾湬鉁╅渶瑕佸叡鏈夌殑鍥剧墖瀵硅薄鉁┾湬鉁┾湬鉁�
+ //涓よ�呴兘鏄疍eviceConcreteType
+ //Keys:鎸囧畾鐨勮澶� value:娌跨敤鐨勫浘鐗囨槸鍝璁惧鐨�
this.dicPictrueShard = new Dictionary<string, string>();
this.dicPictrueShard["ButtonPanel_SimpleFour"] = "ButtonPanel_Four";//绠�绾�4鎸夐敭闈㈡澘 娌跨敤 4鎸夐敭鐨勫浘鏍�
this.dicPictrueShard["ButtonPanel_SimpleThree"] = "ButtonPanel_Three";//绠�绾�3鎸夐敭闈㈡澘 娌跨敤 3鎸夐敭鐨勫浘鏍�
@@ -2402,6 +2407,14 @@
/// </summary>
ButtonPanel_SimpleTwo = 222,
/// <summary>
+ /// 绠�绾�4鎸夐敭鍦烘櫙闈㈡澘 闀滃儚id锛�224
+ /// </summary>
+ ButtonPanel_FourButtonScene = 224,
+ /// <summary>
+ /// 绠�绾�2璺獥甯橀潰鏉� 闀滃儚id锛�226
+ /// </summary>
+ ButtonPanel_TwoButtonCurtain = 226,
+ /// <summary>
/// 鏂规偊2鎸夐敭杞昏Е寮忛潰鏉� 闀滃儚id锛�240
/// </summary>
ButtonPanel_FangyueTwo = 240,
--
Gitblit v1.8.0