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