From 91c2194fce3958afed333119c3aeed3c49ef6bcf Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 03 三月 2021 15:20:44 +0800 Subject: [PATCH] 2021-3-3-2 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs | 730 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 391 insertions(+), 339 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs index 9bbfeea..6c0c602 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs @@ -222,7 +222,7 @@ }; bottomView.AddChidren (btnSaveTime); btnSaveTime.MouseUpEventHandler += (sender3, e3) => { - // var chooseHour = chooseTime.Hour - timerTemp.TimeZone; + // var chooseHour = chooseTime.Hour - timerTemp.TimeZone; var chooseTimeString = chooseTime.Hour.ToString ().PadLeft (2, '0') + ":" + chooseTime.Minute.ToString ().PadLeft (2, '0'); //if (chooseTime.Hour > 12) { // chooseTimeString = (chooseTime.Hour -12) + ":" + chooseTime.Minute + " PM"; @@ -451,7 +451,7 @@ roomContenView.AddChidren (btnRoomChoose); - + #endregion #region Devices @@ -517,7 +517,7 @@ }; chooseRoomView.AddChidren (roomListView); //鑾峰彇鎴块棿鍒楄〃 - var roomList= mMthod.GetRoomList (); + var roomList = mMthod.GetRoomList (); for (int i = 0; i < roomList.Count; i++) { var room = roomList [i]; var btnRoomNameChoose = new Button () { @@ -636,7 +636,7 @@ } } if (btnSaturday.IsSelected) { - if (!timerTemp.whichDay.Contains (6)) { + if (!timerTemp.whichDay.Contains (6)) { timerTemp.whichDay.Add (6); } } @@ -649,7 +649,7 @@ if (!timerTemp.whichDay.Contains (2)) { timerTemp.whichDay.Add (2); } - + } if (btnWednesday.IsSelected) { if (!timerTemp.whichDay.Contains (3)) { @@ -667,12 +667,14 @@ } } if (string.IsNullOrEmpty (timerTemp.id)) { - timerTemp.id =Guid.NewGuid().ToString (); + timerTemp.id = Guid.NewGuid ().ToString (); } DeviceDate deviceDate = new DeviceDate (); deviceDate.gatewayId = SmartHome.Send.GatewayId; deviceDate.homeId = SmartHome.Send.HomeId; + + deviceDate.actions.AddRange (selectedDeviceList); timerTemp.controlData = deviceDate; @@ -687,6 +689,8 @@ revertObj = SmartHome.Send.UpdateTimer (timerTemp); } else { + + revertObj = SmartHome.Send.AddTimer (timerTemp); } @@ -699,7 +703,9 @@ } else { //鎻愮ず閿欒 SmartHome.Method method = new SmartHome.Method (); - method.ShowGetTimerListErrorInfo (revertObj.Data.ToString ()); + if (revertObj.Data != null) { + method.ShowGetTimerListErrorInfo (revertObj.Data.ToString ()); + } } }); } catch (Exception ex) { @@ -717,115 +723,115 @@ /// 鍔犺浇鎴块棿璁惧鍒楄〃鐣岄潰 /// </summary> /// <param name="deviceList">鎴块棿璁惧鍒楄〃</param> - private void InitDeviceListView (List<Function> deviceList) + private void InitDeviceListView (List<Function> deviceList) { devicesListView.RemoveAll (); //鎴块棿璁惧鍒楄〃 - devicesListView.Height = Application.GetRealHeight (130 * deviceList.Count); + devicesListView.Height = Application.GetRealHeight (130 * deviceList.Count); System.Threading.Tasks.Task.Run (() => { try { - Application.RunOnMainThread (() => { - try { - string value = ""; - for (int i = 0; i < deviceList.Count; i++) { - var device = deviceList [i]; - var deviceRowView = new RowLayout () { - Y = Application.GetRealHeight (130 * i), - Radius = 1, - BorderColor = SkinStyle.Current.Transparent, - BorderWidth = (uint)Application.GetMinRealAverage (5), - Height = Application.GetRealHeight (110), - Tag = device, - }; - devicesListView.AddChidren (deviceRowView); + Application.RunOnMainThread (() => { + try { + string value = ""; + for (int i = 0; i < deviceList.Count; i++) { + var device = deviceList [i]; + var deviceRowView = new RowLayout () { + Y = Application.GetRealHeight (130 * i), + Radius = 1, + BorderColor = SkinStyle.Current.Transparent, + BorderWidth = (uint)Application.GetMinRealAverage (5), + Height = Application.GetRealHeight (110), + Tag = device, + }; + devicesListView.AddChidren (deviceRowView); - var btnChoose = new Button () { - Width = Application.GetRealWidth (60), - Height = Application.GetRealWidth (60), - X = Application.GetRealWidth (40), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "CrabtreeAdd/Choose.png", - SelectedImagePath = "CrabtreeAdd/ChooseOn.png", - Tag = device, - }; - deviceRowView.AddChidren (btnChoose); + var btnChoose = new Button () { + Width = Application.GetRealWidth (60), + Height = Application.GetRealWidth (60), + X = Application.GetRealWidth (40), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "CrabtreeAdd/Choose.png", + SelectedImagePath = "CrabtreeAdd/ChooseOn.png", + Tag = device, + }; + deviceRowView.AddChidren (btnChoose); - Button btnDeviceName = new Button () { - Width = Application.GetRealWidth (342), - Height = Application.GetRealHeight (70), - Text = device.name, - TextAlignment = TextAlignment.CenterLeft, - X = btnChoose.Right + Application.GetRealWidth (10), - Y = Application.GetRealHeight (20), - SelectedTextColor = SkinStyle.Current.TextColor1, - TextColor = SkinStyle.Current.TextColor1, - }; - deviceRowView.AddChidren (btnDeviceName); - Button tempSwitch = new Button { - Width = Application.GetRealWidth (90), - Height = Application.GetRealWidth (53), - X = Application.GetRealWidth (640 - 90 - 20), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/SwitchClose.png", - SelectedImagePath = "Item/SwitchOpen.png", - Tag = device, - }; - deviceRowView.AddChidren (tempSwitch); + Button btnDeviceName = new Button () { + Width = Application.GetRealWidth (342), + Height = Application.GetRealHeight (70), + Text = device.name, + TextAlignment = TextAlignment.CenterLeft, + X = btnChoose.Right + Application.GetRealWidth (10), + Y = Application.GetRealHeight (20), + SelectedTextColor = SkinStyle.Current.TextColor1, + TextColor = SkinStyle.Current.TextColor1, + }; + deviceRowView.AddChidren (btnDeviceName); + Button tempSwitch = new Button { + Width = Application.GetRealWidth (90), + Height = Application.GetRealWidth (53), + X = Application.GetRealWidth (640 - 90 - 20), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "Item/SwitchClose.png", + SelectedImagePath = "Item/SwitchOpen.png", + Tag = device, + }; + deviceRowView.AddChidren (tempSwitch); - switch (device.spk) { - //DeviceType.LightDALI - case SPK.LightDimming: { - #region 璋冨厜鍣ˋ - tempSwitch.RemoveFromParent (); + switch (device.spk) { + //DeviceType.LightDALI + case SPK.LightDimming: { + #region 璋冨厜鍣ˋ + tempSwitch.RemoveFromParent (); - deviceRowView.Height = Application.GetRealHeight (130); - btnChoose.Y = Application.GetRealHeight (20); - btnDeviceName.Y = Application.GetRealHeight (15); + deviceRowView.Height = Application.GetRealHeight (130); + btnChoose.Y = Application.GetRealHeight (20); + btnDeviceName.Y = Application.GetRealHeight (15); - var btnLevel = new Button () { - X = btnChoose.X + Application.GetRealWidth (10), - Y = btnChoose.Bottom, - Width = Application.GetRealWidth (75), - Height = Application.GetRealHeight (45), - TextColor = SkinStyle.Current.TextColor1, - SelectedTextColor = SkinStyle.Current.TextColor1, - Text = "OFF", - TextAlignment = TextAlignment.CenterLeft, - }; - deviceRowView.AddChidren (btnLevel); + var btnLevel = new Button () { + X = btnChoose.X + Application.GetRealWidth (10), + Y = btnChoose.Bottom, + Width = Application.GetRealWidth (75), + Height = Application.GetRealHeight (45), + TextColor = SkinStyle.Current.TextColor1, + SelectedTextColor = SkinStyle.Current.TextColor1, + Text = "OFF", + TextAlignment = TextAlignment.CenterLeft, + }; + deviceRowView.AddChidren (btnLevel); - var levelBar = new HorizontalSeekBar () { - X = btnLevel.Right, - Y = btnLevel.Y, - Width = Application.GetRealWidth (460), - Height = Application.GetRealHeight (45), - ThumbColor = SkinStyle.Current.ThumbColor, - ProgressColor = SkinStyle.Current.SelectedColor, - ThumbRadius = 6, - Max = 100, - }; - deviceRowView.AddChidren (levelBar); + var levelBar = new HorizontalSeekBar () { + X = btnLevel.Right, + Y = btnLevel.Y, + Width = Application.GetRealWidth (460), + Height = Application.GetRealHeight (45), + ThumbColor = SkinStyle.Current.ThumbColor, + ProgressColor = SkinStyle.Current.SelectedColor, + ThumbRadius = 6, + Max = 100, + }; + deviceRowView.AddChidren (levelBar); - levelBar.ProgressChanged += (sender, e) => { - if (!btnChoose.IsSelected) { - btnChoose.IsSelected = true; - } - if (e == 0) { - btnLevel.Text = "OFF"; - } else { - btnLevel.Text = e.ToString () + "%"; - } - value = e.ToString (); - DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); - }; + levelBar.ProgressChanged += (sender, e) => { + if (!btnChoose.IsSelected) { + btnChoose.IsSelected = true; + } + if (e == 0) { + btnLevel.Text = "OFF"; + } else { + btnLevel.Text = e.ToString () + "%"; + } + value = e.ToString (); + DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); + }; - btnChoose.MouseUpEventHandler += (dds, ddss) => { - btnChoose.IsSelected = !btnChoose.IsSelected; - DeviceDateFun (btnChoose.Tag as Function, "0", btnChoose.IsSelected); - }; + btnChoose.MouseUpEventHandler += (dds, ddss) => { + btnChoose.IsSelected = !btnChoose.IsSelected; + DeviceDateFun (btnChoose.Tag as Function, "0", btnChoose.IsSelected); + }; - if (IsEdit) { - try { + if (IsEdit) { + try { var dev = selectedDeviceList.Find ((c) => c.deviceId == Int64.Parse (device.deviceId)); if (dev != null) { if (!btnChoose.IsSelected) { @@ -833,243 +839,248 @@ } for (int a = 0; a < dev.attributes.Count; a++) { var fundev = dev.attributes [a]; - if (fundev.value == "0") { - btnLevel.Text = "OFF"; - } else { - btnLevel.Text = fundev.value + "%"; - } - levelBar.Progress = int.Parse (fundev.value); - } - } - } catch { } - } - #endregion - } - break; - //DeviceType.LightEnergySwitch - //DeviceType.LightEnergySocket - //DeviceType.LightSwitchSocket - case SPK.LightSwitch: { - #region 缁х數鍣� - tempSwitch.MouseUpEventHandler += (sender3, e3) => { - tempSwitch.IsSelected = !tempSwitch.IsSelected; - - if (tempSwitch.IsSelected) { - value = "on"; - } else { - value = "off"; - } - if (!btnChoose.IsSelected) { - btnChoose.IsSelected = true; - } - DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); - - }; - - btnChoose.MouseUpEventHandler += (dds, ddss) => { - btnChoose.IsSelected = !btnChoose.IsSelected; - if (btnChoose.IsSelected) { - value = "on"; - } else { - value = "off"; - } - DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); - - }; - - if (IsEdit) { - try { - var dev = selectedDeviceList.Find ((c) => c.deviceId == Int64.Parse (device.deviceId)); - if (dev != null) { - if (!btnChoose.IsSelected) { - btnChoose.IsSelected = true; - } - for (int a = 0; a < dev.attributes.Count; a++) { - var fundev = dev.attributes [a]; - if (fundev.value == "on") { - tempSwitch.IsSelected = true; - } else { - tempSwitch.IsSelected = false; - } - } - } - } catch { } - } - #endregion - } - break; - case SPK.CurtainRoller: - case SPK.CurtainTrietex: - case SPK.CurtainSwitch: - { - #region 绐楀笜 - tempSwitch.RemoveFromParent (); - var tempSwitch1 = new Button () { - Width = Application.GetRealWidth (90), - Height = Application.GetRealWidth (53), - X = Application.GetRealWidth (640 - 90 - 20), - Radius = 5, - BorderColor = SkinStyle.Current.Transparent, - BorderWidth = 1, - Gravity = Gravity.CenterVertical, - TextAlignment = TextAlignment.Center, - BackgroundColor = SkinStyle.Current.ButtonColor, - SelectedBackgroundColor = SkinStyle.Current.SelectedColor, - Text = "CLOSE", - Tag = device, - }; - deviceRowView.AddChidren (tempSwitch1); - - tempSwitch1.MouseUpEventHandler += (sender3, e3) => { - tempSwitch1.IsSelected = !tempSwitch1.IsSelected; - if (tempSwitch1.IsSelected) { - value = "on"; - tempSwitch1.Text = "OPEN"; - tempSwitch1.BackgroundColor = SkinStyle.Current.SelectedColor; - } else { - value = "off"; - tempSwitch1.Text = "CLOSE"; - tempSwitch1.BackgroundColor = SkinStyle.Current.ButtonColor; - } - if (!btnChoose.IsSelected) { - btnChoose.IsSelected = true; - } - DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); - - - }; - - btnChoose.MouseUpEventHandler += (dds, ddss) => { - btnChoose.IsSelected = !btnChoose.IsSelected; - if (tempSwitch1.IsSelected) { - value = "on"; - } else { - value = "off"; - } - DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); - }; - - if (IsEdit) { - try { - var dev = selectedDeviceList.Find ((c) => c.deviceId == Int64.Parse (device.deviceId)); - if (dev != null) { - if (!btnChoose.IsSelected) { - btnChoose.IsSelected = true; - } - for (int a = 0; a < dev.attributes.Count; a++) { - var fundev = dev.attributes [a]; - if (fundev.value == "on") { - tempSwitch1.IsSelected = true; - tempSwitch1.Text = "OPEN"; - } else { - tempSwitch1.IsSelected = false; - tempSwitch1.Text = "CLOSE"; - } - } - } - } catch { } - } - #endregion - } - break; - case "electrical.socket": { - - } - break; - case SPK.ElectricFan: { - #region 椋庢墖 - tempSwitch.RemoveFromParent (); - deviceRowView.Height = Application.GetRealHeight (130); - btnChoose.Y = Application.GetRealHeight (5); - btnDeviceName.Y = Application.GetRealHeight (0); - - var btnFanLevel = new Button () { - X = btnChoose.X + Application.GetRealWidth (10), - Y = btnChoose.Bottom, - Width = Application.GetRealWidth (75), - Height = Application.GetRealHeight (45), - TextColor = SkinStyle.Current.TextColor1, - SelectedTextColor = SkinStyle.Current.TextColor1, - Text = "OFF", - TextAlignment = TextAlignment.CenterLeft, - }; - deviceRowView.AddChidren (btnFanLevel); - - var wi = Application.GetRealWidth (480 / 8); - for (int a = 0; a < 9; a++) { - var btnFanLevelTip = new Button () { - X = btnFanLevel.Right + wi * a - Application.GetRealWidth (0), - Y = btnFanLevel.Y - Application.GetRealHeight (5), - Width = wi, - Height = Application.GetRealHeight (27), - TextAlignment = TextAlignment.TopLeft, - Text = a.ToString (), - TextColor = SkinStyle.Current.TextColor1, - TextSize = 12, - }; - deviceRowView.AddChidren (btnFanLevelTip); - if (a == 0) { - btnFanLevelTip.Text = "OFF"; - btnFanLevelTip.TextSize = 11; - } - } - - var fanLevel = new HorizontalSeekBar () { - X = btnFanLevel.Right, - Y = btnFanLevel.Y + Application.GetRealHeight (10), - Width = Application.GetRealWidth (492), - Height = Application.GetRealHeight (45), - ThumbColor = SkinStyle.Current.ThumbColor, - ProgressColor = SkinStyle.Current.SelectedColor, - ThumbRadius = Application.GetRealWidth (3), - Max = 8, - Progress = 2, - - }; - deviceRowView.AddChidren (fanLevel); - fanLevel.ProgressChanged += (sender, e) => { - value = e.ToString (); - DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); - }; - - btnChoose.MouseUpEventHandler += (dds, ddss) => { - btnChoose.IsSelected = !btnChoose.IsSelected; - DeviceDateFun (btnChoose.Tag as Function, "0", btnChoose.IsSelected); - }; - if (IsEdit) { - try { - var dev = selectedDeviceList.Find ((c) => c.deviceId == Int64.Parse (device.deviceId)); - if (dev != null) { - if (!btnChoose.IsSelected) { - btnChoose.IsSelected = true; - } - for (int a = 0; a < dev.attributes.Count; a++) { - var fundev = dev.attributes [a]; + if (fundev.key == "brightness") { if (fundev.value == "0") { - //btnLevel.Text = "OFF"; + btnLevel.Text = "OFF"; } else { - fanLevel.Progress = int.Parse (fundev.value); + btnLevel.Text = fundev.value + "%"; } - + levelBar.Progress = int.Parse (fundev.value); } } - } catch { } - } - #endregion + } + } catch { } } - break; + #endregion } + break; + //DeviceType.LightEnergySwitch + //DeviceType.LightEnergySocket + //DeviceType.LightSwitchSocket + case SPK.ElectricSocket: + case SPK.LightSwitch: { + #region 缁х數鍣� + tempSwitch.MouseUpEventHandler += (sender3, e3) => { + tempSwitch.IsSelected = !tempSwitch.IsSelected; - - - + if (tempSwitch.IsSelected) { + value = "on"; + } else { + value = "off"; + } + if (!btnChoose.IsSelected) { + btnChoose.IsSelected = true; + } + DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); + + }; + + btnChoose.MouseUpEventHandler += (dds, ddss) => { + btnChoose.IsSelected = !btnChoose.IsSelected; + if (tempSwitch.IsSelected) { + value = "on"; + } else { + value = "off"; + } + DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); + + }; + + if (IsEdit) { + try { + var dev = selectedDeviceList.Find ((c) => c.deviceId == Int64.Parse (device.deviceId)); + if (dev != null) { + if (!btnChoose.IsSelected) { + btnChoose.IsSelected = true; + } + for (int a = 0; a < dev.attributes.Count; a++) { + var fundev = dev.attributes [a]; + if (fundev.value == "on") { + tempSwitch.IsSelected = true; + } else { + tempSwitch.IsSelected = false; + } + } + } + } catch { } + } + #endregion + } + break; + case SPK.CurtainRoller: + case SPK.CurtainTrietex: + case SPK.CurtainSwitch: { + #region 绐楀笜 + tempSwitch.RemoveFromParent (); + var tempSwitch1 = new Button () { + Width = Application.GetRealWidth (90), + Height = Application.GetRealWidth (53), + X = Application.GetRealWidth (640 - 90 - 20), + Radius = 5, + BorderColor = SkinStyle.Current.Transparent, + BorderWidth = 1, + Gravity = Gravity.CenterVertical, + TextAlignment = TextAlignment.Center, + BackgroundColor = SkinStyle.Current.ButtonColor, + SelectedBackgroundColor = SkinStyle.Current.SelectedColor, + Text = "CLOSE", + Tag = device, + }; + deviceRowView.AddChidren (tempSwitch1); + + tempSwitch1.MouseUpEventHandler += (sender3, e3) => { + tempSwitch1.IsSelected = !tempSwitch1.IsSelected; + if (tempSwitch1.IsSelected) { + value = "on"; + tempSwitch1.Text = "OPEN"; + tempSwitch1.BackgroundColor = SkinStyle.Current.SelectedColor; + } else { + value = "off"; + tempSwitch1.Text = "CLOSE"; + tempSwitch1.BackgroundColor = SkinStyle.Current.ButtonColor; + } + if (!btnChoose.IsSelected) { + btnChoose.IsSelected = true; + } + DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); + + + }; + + btnChoose.MouseUpEventHandler += (dds, ddss) => { + btnChoose.IsSelected = !btnChoose.IsSelected; + if (tempSwitch1.IsSelected) { + value = "on"; + } else { + value = "off"; + } + DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); + }; + + if (IsEdit) { + try { + var dev = selectedDeviceList.Find ((c) => c.deviceId == Int64.Parse (device.deviceId)); + if (dev != null) { + if (!btnChoose.IsSelected) { + btnChoose.IsSelected = true; + } + for (int a = 0; a < dev.attributes.Count; a++) { + var fundev = dev.attributes [a]; + if (fundev.value == "on") { + tempSwitch1.IsSelected = true; + tempSwitch1.Text = "OPEN"; + } else { + tempSwitch1.IsSelected = false; + tempSwitch1.Text = "CLOSE"; + } + } + } + } catch { } + } + #endregion + } + break; + case SPK.ElectricFan: { + #region 椋庢墖 + tempSwitch.RemoveFromParent (); + deviceRowView.Height = Application.GetRealHeight (130); + btnChoose.Y = Application.GetRealHeight (5); + btnDeviceName.Y = Application.GetRealHeight (0); + + var btnFanLevel = new Button () { + X = btnChoose.X + Application.GetRealWidth (10), + Y = btnChoose.Bottom, + Width = Application.GetRealWidth (75), + Height = Application.GetRealHeight (45), + TextColor = SkinStyle.Current.TextColor1, + SelectedTextColor = SkinStyle.Current.TextColor1, + Text = "OFF", + TextAlignment = TextAlignment.CenterLeft, + }; + deviceRowView.AddChidren (btnFanLevel); + + var wi = Application.GetRealWidth (480 / 8); + for (int a = 0; a < 9; a++) { + var btnFanLevelTip = new Button () { + X = btnFanLevel.Right + wi * a - Application.GetRealWidth (0), + Y = btnFanLevel.Y - Application.GetRealHeight (5), + Width = wi, + Height = Application.GetRealHeight (27), + TextAlignment = TextAlignment.TopLeft, + Text = a.ToString (), + TextColor = SkinStyle.Current.TextColor1, + TextSize = 12, + }; + deviceRowView.AddChidren (btnFanLevelTip); + if (a == 0) { + btnFanLevelTip.Text = "OFF"; + btnFanLevelTip.TextSize = 11; + } + } + var fanLevel = new HorizontalSeekBar () { + X = btnFanLevel.Right, + Y = btnFanLevel.Y + Application.GetRealHeight (10), + Width = Application.GetRealWidth (492), + Height = Application.GetRealHeight (45), + ThumbColor = SkinStyle.Current.ThumbColor, + ProgressColor = SkinStyle.Current.SelectedColor, + ThumbRadius = Application.GetRealWidth (3), + Max = 8, + Progress = 2, + + }; + deviceRowView.AddChidren (fanLevel); + value = "2"; + fanLevel.ProgressChanged += (sender, e) => { + if (!btnChoose.IsSelected) { + btnChoose.IsSelected = true; + } + value = e.ToString (); + DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); + }; + + btnChoose.MouseUpEventHandler += (dds, ddss) => { + btnChoose.IsSelected = !btnChoose.IsSelected; + DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected); + }; + if (IsEdit) { + try { + var dev = selectedDeviceList.Find ((c) => c.deviceId == Int64.Parse (device.deviceId)); + if (dev != null) { + if (!btnChoose.IsSelected) { + btnChoose.IsSelected = true; + } + for (int a = 0; a < dev.attributes.Count; a++) { + var fundev = dev.attributes [a]; + if (fundev.key == "fan_speed_percent") { + // if (fundev.value == "0") { + // btnLevel.Text = "OFF"; + // } else { + fanLevel.Progress = int.Parse (fundev.value); + // } + } + + + + } + } + } catch { } + } + #endregion + } + break; } - } catch (Exception ex) { - Utlis.WriteLine ("AddSchedule error : " + ex.Message); - } - }); - + + + + } + } catch (Exception ex) { + Utlis.WriteLine ("AddSchedule error : " + ex.Message); + } + }); + + } catch (Exception ex) { Utlis.WriteLine (ex.Message); } finally { @@ -1085,20 +1096,24 @@ /// <param name="function"></param> /// <param name="value">寮�鍏崇姸鎬佸��</param> /// <param name="isSelected">鍒ゆ柇鎺т欢鐐瑰嚮鐘舵��</param> - public void DeviceDateFun (Function function, string value, bool isSelected) + public void DeviceDateFun (Function function, string value, bool isSelected) { string keyValue = ""; switch (function.spk) { - case "curtain.trietex": - case "curtain.roller": - case "light.switch": - case "curtain.switch": - case "electrical.socket": { + case SPK.CurtainTrietex: + case SPK.CurtainRoller: + case SPK.LightSwitch: + case SPK.CurtainSwitch: + case SPK.ElectricSocket: { keyValue = "on_off"; } break; - case "light.dimming": { + case SPK.LightDimming: { keyValue = "brightness"; + } + break; + case SPK.ElectricFan: { + keyValue = "fan_speed_percent"; } break; @@ -1106,7 +1121,7 @@ Fun fun = new Fun (); fun.deviceId = Int64.Parse (function.deviceId); fun.spk = function.spk; - fun.attributes.Add (new Attributes { key= keyValue, value = value }); + fun.attributes.Add (new Attributes { key = keyValue, value = value }); fun.bus.addresses = function.bus.addresses; fun.bus.loopId = function.bus.loopId; AddDeviceList (fun, isSelected); @@ -1116,8 +1131,45 @@ /// </summary> /// <param name="fun"></param> /// <param name="isSelected">鍒ゆ柇鎺т欢鐐瑰嚮鐘舵��</param> - public void AddDeviceList (Fun fun, bool isSelected) + public void AddDeviceList (Fun fun, bool isSelected) { + + switch (fun.spk) { + case SPK.LightDimming: { + //璋冨厜鍋氫簡涓�涓壒娈婂鐞嗭紱 + if (fun.attributes.Count == 1) { + var dic = fun.attributes [0]; + if (dic.key == "brightness") { + Attributes attributes = new Attributes (); + attributes.key = "on_off"; + if (dic.value == "0") { + attributes.value = "off"; + } else { + attributes.value = "on"; + } + fun.attributes.Add (attributes); + } + + } + break; + } + case SPK.ElectricFan: { + if (fun.attributes.Count == 1) { + var dic = fun.attributes [0]; + if (dic.key == "fan_speed_percent") { + Attributes attributes = new Attributes (); + attributes.key = "on_off"; + if (dic.value == "0") { + attributes.value = "off"; + } else { + attributes.value = "on"; + } + fun.attributes.Add (attributes); + } + } + } + break; + } var device = selectedDeviceList.Find ((dev) => dev.deviceId == fun.deviceId); if (device != null) { selectedDeviceList.Remove (device); @@ -1127,6 +1179,6 @@ } } - + } } -- Gitblit v1.8.0