From 1f6f024bddf48dea1c17c54ade1535a10ef7b39b Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 23 三月 2020 17:16:37 +0800 Subject: [PATCH] 2020-03-23-2 --- ZigbeeApp/Shared/Phone/Device/Logic/Method.cs | 74 ++++++++++++++++++++++++------------- 1 files changed, 48 insertions(+), 26 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs index 7aecfbb..16cbc62 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs @@ -21,8 +21,7 @@ /// <param name="device">Device.</param> public static void RoomNmae(Button button, CommonDevice device) { - var room = new Common.Room(); - button.Text = room.GetRoomNameByDevice(device); + button.Text = UserCenter.HdlRoomLogic.Current.GetRoomNameByDevice(device); } /// <summary> /// 杩斿洖妤煎眰鎵�鏈夌殑鎴块棿鐨勫垪琛� @@ -33,11 +32,12 @@ public static List<Common.Room> GetRoomList(string type, string floorId = null) { var list = new List<Common.Room>(); - for (int i = 0; i < Common.Room.Lists.Count; i++) + var listAllRoom = UserCenter.HdlRoomLogic.Current.GetAllListRooms(); + for (int i = 0; i < listAllRoom.Count; i++) { if (type == "action_logicscene" || type == "action_lockscene") { - if (Common.Room.Lists[i].SceneUIList.Count == 0) + if (listAllRoom[i].ListSceneId.Count == 0) { ///杩囨护鎺夋病鏈夊満鏅殑鎴块棿 continue; } @@ -46,14 +46,14 @@ { ///鍖哄垎鍑鸿緭鍏ユ潯浠跺拰杈撳嚭鐩爣璁惧 var listdevicetype = GetDevice(type); - var listdevice = GetDeviceUIList(Common.Room.Lists[i], listdevicetype); + var listdevice = GetDeviceUIList(listAllRoom[i], listdevicetype); if (listdevice.Count == 0) { ///杩囨护鎺夋病鏈夎澶囩殑鎴块棿 continue; } } - list.Add(Common.Room.Lists[i]); + list.Add(listAllRoom[i]); } if (string.IsNullOrEmpty(floorId)) { @@ -69,16 +69,17 @@ /// <param name="room">褰撳墠鎴块棿</param> /// <param name="deviceTypelist">璁惧绫诲瀷</param> /// <returns></returns> - public static List<DeviceUI> GetDeviceUIList(Common.Room room, List<DeviceType> deviceTypelist) + public static List<CommonDevice> GetDeviceUIList(Common.Room room, List<DeviceType> deviceTypelist) { - var deviceUIlist = new List<DeviceUI>(); - foreach (var device in room.DeviceUIList) + var deviceUIlist = new List<CommonDevice>(); + foreach (var deviceKey in room.ListDevice) { - if (device.CommonDevice == null) + var device = LocalDevice.Current.GetDevice(deviceKey); + if (device == null) { continue; } - if (!deviceTypelist.Contains(device.CommonDevice.Type)) + if (!deviceTypelist.Contains(device.Type)) { //杩囨护鎺変笉鏀寔鐨勮澶� continue; @@ -90,44 +91,43 @@ /// <summary> /// 鎺掑垪鎵�鏈夎澶囩被鍨嬬殑鍒楄〃 /// </summary> - /// <param name="type">鍒ゆ柇瀛楃涓�</param> /// <param name="devicelist">璁惧鍒楄〃</param> /// <returns></returns> - public static List<string> GetDeviceTypeList(string type, List<DeviceUI> devicelist) + public static List<string> GetDeviceTypeList(List<CommonDevice> devicelist) { List<string> devicetypelist = new List<string>(); devicetypelist.Clear(); - var lightjosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.ColorDimmableLight || device.CommonDevice.Type == DeviceType.OnOffOutput); + var lightjosn = devicelist.Find((device) => device.Type == DeviceType.DimmableLight || device.Type == DeviceType.OnOffOutput); if (lightjosn != null) { devicetypelist.Add(Language.StringByID(MyInternationalizationString.Lights)); } - var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone || device.CommonDevice.Type == DeviceType.TemperatureSensor); + var iASZonejosn = devicelist.Find((device) => device.Type == DeviceType.IASZone || device.Type == DeviceType.TemperatureSensor); if (iASZonejosn != null) { devicetypelist.Add(Language.StringByID(MyInternationalizationString.sensor)); } - var onOffSwitchjson = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.OnOffSwitch); + var onOffSwitchjson = devicelist.Find((device) => device.Type == DeviceType.OnOffSwitch); if (onOffSwitchjson != null) { devicetypelist.Add(Language.StringByID(MyInternationalizationString.OnOffSwitch)); } - var doorLock = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.DoorLock); + var doorLock = devicelist.Find((device) => device.Type == DeviceType.DoorLock); if (doorLock != null) { devicetypelist.Add(Language.StringByID(MyInternationalizationString.doorLock)); } - var curtainjosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.WindowCoveringDevice); + var curtainjosn = devicelist.Find((device) => device.Type == DeviceType.WindowCoveringDevice); if (curtainjosn != null) { devicetypelist.Add(Language.StringByID(MyInternationalizationString.Curtains)); } - var ac = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.Thermostat); + var ac = devicelist.Find((device) => device.Type == DeviceType.Thermostat); if (ac != null) { devicetypelist.Add(Language.StringByID(MyInternationalizationString.AC)); } - var airSwitch = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.AirSwitch); + var airSwitch = devicelist.Find((device) => device.Type == DeviceType.AirSwitch); if (airSwitch != null) { devicetypelist.Add(Language.StringByID(MyInternationalizationString.Airswitch)); @@ -224,11 +224,11 @@ /// </summary> /// <param name="device">璁惧瀵硅薄</param> /// <param name="button">鏄剧ず鍥炬爣鐨勬帶浠�</param> - public static void GetDeviceIcon(DeviceUI device, Button button) + public static void GetDeviceIcon(CommonDevice device, Button button) { string patm = ""; string selectedpatm = ""; - switch (device.CommonDevice.Type) + switch (device.Type) { case DeviceType.OnOffOutput: { @@ -238,7 +238,7 @@ break; case DeviceType.IASZone: { - var iASZonedevice = device.CommonDevice as IASZone; + var iASZonedevice = device as IASZone; if (iASZonedevice.DeviceID != 1026) { break; @@ -249,7 +249,7 @@ break; case DeviceType.TemperatureSensor: { - var temperatureSensor = device.CommonDevice as TemperatureSensor; + var temperatureSensor = device as TemperatureSensor; if (temperatureSensor.SensorDiv == 1) { patm = $"ZigeeLogic/temperature.png"; @@ -325,12 +325,16 @@ } break; case "action_logic": - { //鑷姩鍖栨敮鎸佺殑鐩爣璁惧 + { + + //鑷姩鍖栨敮鎸佺殑鐩爣璁惧 deviceTypeList.Add(DeviceType.OnOffOutput); deviceTypeList.Add(DeviceType.DimmableLight); deviceTypeList.Add(DeviceType.WindowCoveringDevice); deviceTypeList.Add(DeviceType.Thermostat); deviceTypeList.Add(DeviceType.AirSwitch); + ///闂ㄩ攣鐗规畩 + deviceTypeList.Add(DeviceType.DoorLock); } break; case "condition_mould": @@ -351,6 +355,8 @@ deviceTypeList.Add(DeviceType.WindowCoveringDevice); deviceTypeList.Add(DeviceType.Thermostat); deviceTypeList.Add(DeviceType.AirSwitch); + ///闂ㄩ攣鐗规畩 + deviceTypeList.Add(DeviceType.DoorLock); } break; @@ -648,6 +654,7 @@ custompushview.iconBtn.Visible = true; custompushview.iconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; custompushview.titleBtn.TextID = MyInternationalizationString.custompush; + custompushview.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; middle.AddChidren(custompushview.AddDeviceView()); EventHandler<MouseEventArgs> customclick = (sender, e) => @@ -668,6 +675,7 @@ LogicView.IfString.Tag = true; custompushview.frameLayout.Height = Application.GetRealHeight(160); Common.Logic.CurrentLogic.LogicIsCustomPushText = 1; + pushview.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor; } else @@ -675,6 +683,7 @@ LogicView.IfString.Tag = false; custompushview.frameLayout.Height = Application.GetRealHeight(0); Common.Logic.CurrentLogic.LogicIsCustomPushText = 0; + pushview.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; } Send.Zj(LogicView.IfString.Tag, Common.Logic.CurrentLogic); }; @@ -684,12 +693,14 @@ LogicView.IfString.Tag = false; pushview.switchBtn.IsSelected = false; custompushview.frameLayout.Height = Application.GetRealHeight(0); + pushview.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; } else { LogicView.IfString.Tag = true; pushview.switchBtn.IsSelected = true; custompushview.frameLayout.Height = Application.GetRealHeight(160); + pushview.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor; } } /// <summary> @@ -768,6 +779,17 @@ } } - + /// <summary> + /// 璺冲叆杈撳嚭鐩爣鍔熻兘鐣岄潰鐨勬柟娉� + /// </summary> + /// <param name="str1">璁惧鐣岄潰璇嗗埆瀛楃涓�</param> + /// <param name="str2">鍦烘櫙鐣岄潰璇嗗埆瀛楃涓�</param> + public static void View(string str1, string str2) + { + var deviceTarget = new DeviceTarget(); + UserView.HomePage.Instance.AddChidren(deviceTarget); + UserView.HomePage.Instance.PageIndex += 1; + deviceTarget.Show(str1, str2); + } } } -- Gitblit v1.8.0