From eb3799496f3419e347849073e23e5105b74000e5 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 26 三月 2021 17:41:18 +0800
Subject: [PATCH] 2021-3-26-4
---
Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs | 973 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 583 insertions(+), 390 deletions(-)
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs
index cbafc6e..fd52b68 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs
@@ -1,5 +1,6 @@
锘縰sing System;
using System.Collections.Generic;
+using Newtonsoft.Json.Linq;
using Shared.SimpleControl.Phone.Music;
namespace Shared.SimpleControl.Phone
@@ -176,65 +177,69 @@
timeView.AddChidren (btnTimelbl);
btnTimelbl.MouseUpEventHandler += (timeSender, eee) => {
- var dialog = new Dialog ();
- var chooseTimeBodyView = new FrameLayout () {
- };
- dialog.AddChidren (chooseTimeBodyView);
- var chooseTime = new TimeView () {
- Y = Application.GetRealHeight (1136 - 420 - 90),
- Height = Application.GetRealHeight (420),
- BackgroundColor = 0xFFD7D7D7,
- //BackgroundColor = SkinStyle.Current.ViewColor,
- };
- chooseTimeBodyView.AddChidren (chooseTime);
+ ShowTimePickerView (btnTimelbl);
+ return;
- var bottomView = new FrameLayout () {
- Y = chooseTime.Bottom,
- Height = Application.GetRealHeight (90) + 1,
- BackgroundColor = 0xFFD7D7D7,
- };
- chooseTimeBodyView.AddChidren (bottomView);
+ //var dialog = new Dialog ();
+ //var chooseTimeBodyView = new FrameLayout () {
+ //};
+ //dialog.AddChidren (chooseTimeBodyView);
- var btnCloseTime = new Button () {
- Y = 1,
- Width = Application.GetRealWidth (320),
- BackgroundColor = SkinStyle.Current.ViewColor,
- TextID = R.MyInternationalizationString.Close,
- TextAlignment = TextAlignment.Center,
- TextColor = SkinStyle.Current.TextColor1,
- };
- bottomView.AddChidren (btnCloseTime);
- btnCloseTime.MouseUpEventHandler += (ddf, dddf) => {
- chooseTimeBodyView.RemoveAll ();
- chooseTimeBodyView.RemoveFromParent ();
- dialog.Close ();
- };
+ //var chooseTime = new TimeView () {
+ // Y = Application.GetRealHeight (1136 - 420 - 90),
+ // Height = Application.GetRealHeight (420),
+ // BackgroundColor = 0xFFD7D7D7,
+ // //BackgroundColor = SkinStyle.Current.ViewColor,
+ //};
+ //chooseTimeBodyView.AddChidren (chooseTime);
- var btnSaveTime = new Button () {
- X = btnCloseTime.Right + 1,
- Y = 1,
- Width = Application.GetRealWidth (320),
- TextID = R.MyInternationalizationString.SAVE,
- BackgroundColor = SkinStyle.Current.ViewColor,
- TextAlignment = TextAlignment.Center,
- TextColor = SkinStyle.Current.TextColor1,
- };
- bottomView.AddChidren (btnSaveTime);
- btnSaveTime.MouseUpEventHandler += (sender3, e3) => {
- // 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";
- //} else {
- // chooseTimeString = chooseTime.Hour + ":" + chooseTime.Minute + " AM";
- //}
- btnTimelbl.Text = chooseTimeString;
- dialog.Close ();
- };
+ //var bottomView = new FrameLayout () {
+ // Y = chooseTime.Bottom,
+ // Height = Application.GetRealHeight (90) + 1,
+ // BackgroundColor = 0xFFD7D7D7,
+ //};
+ //chooseTimeBodyView.AddChidren (bottomView);
+
+ //var btnCloseTime = new Button () {
+ // Y = 1,
+ // Width = Application.GetRealWidth (320),
+ // BackgroundColor = SkinStyle.Current.ViewColor,
+ // TextID = R.MyInternationalizationString.Close,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = SkinStyle.Current.TextColor1,
+ //};
+ //bottomView.AddChidren (btnCloseTime);
+ //btnCloseTime.MouseUpEventHandler += (ddf, dddf) => {
+ // chooseTimeBodyView.RemoveAll ();
+ // chooseTimeBodyView.RemoveFromParent ();
+ // dialog.Close ();
+ //};
+
+ //var btnSaveTime = new Button () {
+ // X = btnCloseTime.Right + 1,
+ // Y = 1,
+ // Width = Application.GetRealWidth (320),
+ // TextID = R.MyInternationalizationString.SAVE,
+ // BackgroundColor = SkinStyle.Current.ViewColor,
+ // TextAlignment = TextAlignment.Center,
+ // TextColor = SkinStyle.Current.TextColor1,
+ //};
+ //bottomView.AddChidren (btnSaveTime);
+ //btnSaveTime.MouseUpEventHandler += (sender3, e3) => {
+ // // 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";
+ // //} else {
+ // // chooseTimeString = chooseTime.Hour + ":" + chooseTime.Minute + " AM";
+ // //}
+ // btnTimelbl.Text = chooseTimeString;
+ // dialog.Close ();
+ //};
- dialog.Show ();
+ //dialog.Show ();
};
#endregion
@@ -446,12 +451,12 @@
Height = Application.GetRealHeight (60),
TextAlignment = TextAlignment.CenterLeft,
TextColor = SkinStyle.Current.TextColor1,
- Text = "ALL",
+ Text = timerTemp.RoomName,
};
roomContenView.AddChidren (btnRoomChoose);
-
+
#endregion
#region Devices
@@ -480,7 +485,7 @@
MainPage.Loading.Start ("Please wait...");
SmartHome.Method mMthod = new SmartHome.Method ();
- var devList = mMthod.GetRoomDeviceList ("ALL");
+ var devList = mMthod.GetRoomDeviceList (timerTemp.RoomName);
InitDeviceListView (devList);
#region -----Room 鐐瑰嚮浜嬩欢
btnRoomChoose.MouseUpEventHandler += (sender, e) => {
@@ -517,7 +522,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 () {
@@ -535,6 +540,8 @@
roomListView.AddChidren (btnLine);
btnRoomNameChoose.MouseUpEventHandler += (sd, ds) => {
+ //鍒囨崲鎴块棿娓呯┖涔嬪墠閫夋嫨鏁版嵁;
+ selectedDeviceList.Clear ();
btnRoomChoose.Text = (sd as Button).Text;
//鑾峰彇璁惧鍒楄〃
var deviceList = mMthod.GetRoomDeviceList (btnRoomChoose.Text);
@@ -636,7 +643,7 @@
}
}
if (btnSaturday.IsSelected) {
- if (!timerTemp.whichDay.Contains (6)) {
+ if (!timerTemp.whichDay.Contains (6)) {
timerTemp.whichDay.Add (6);
}
}
@@ -649,7 +656,7 @@
if (!timerTemp.whichDay.Contains (2)) {
timerTemp.whichDay.Add (2);
}
-
+
}
if (btnWednesday.IsSelected) {
if (!timerTemp.whichDay.Contains (3)) {
@@ -666,13 +673,15 @@
timerTemp.whichDay.Add (5);
}
}
- if (string.IsNullOrEmpty (timerTemp.id)) {
- timerTemp.id =Guid.NewGuid().ToString ();
- }
+ //if (string.IsNullOrEmpty (timerTemp.id)) {
+ // 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 +696,8 @@
revertObj = SmartHome.Send.UpdateTimer (timerTemp);
} else {
+
+
revertObj = SmartHome.Send.AddTimer (timerTemp);
}
@@ -694,12 +705,23 @@
if (revertObj == null) {
new Alert ("", "Unable to save data, please check the network.", "Close").Show ();
} else if (revertObj.Code == StateCode.SUCCESS) {
+ string id = "";
+ if (!isEdit) {
+ var jObject = JObject.Parse (revertObj.Data.ToString ());
+ id = jObject ["id"].ToString ();
+ timerTemp.id = id;
+ }
this.RemoveFromParent ();
action (timerTemp);
+
+
+
} else {
//鎻愮ず閿欒
SmartHome.Method method = new SmartHome.Method ();
- method.ShowGetTimerListErrorInfo (revertObj.Data.ToString ());
+ if (revertObj.Data != null) {
+ method.ShowGetTimerListErrorInfo (revertObj.Data.ToString ());
+ }
}
});
} catch (Exception ex) {
@@ -713,118 +735,235 @@
};
}
+
+ /// <summary>
+ /// 鑷畾涔塗imePickerView
+ /// 2021-03-24
+ /// </summary>
+ void ShowTimePickerView (Button btnTimelbl)
+ {
+ var chooseTimeString = "00:00";
+ var dialog = new Dialog ();
+ var chooseTimeBodyView = new FrameLayout () {
+ };
+ dialog.AddChidren (chooseTimeBodyView);
+
+ var timeView = new FrameLayout () {
+ Y = Application.GetRealHeight (1136 - 420 - 90),
+ Height = Application.GetRealHeight (420),
+ BackgroundColor = SkinStyle.Current.ViewColor,
+ };
+ chooseTimeBodyView.AddChidren (timeView);
+
+ var chooseTime = new UIPickerView () {
+ Height = Application.GetRealHeight (400),
+ BackgroundColor = SkinStyle.Current.Transparent,
+ Gravity = Gravity.CenterVertical
+ };
+ timeView.AddChidren (chooseTime);
+
+ var bottomView = new FrameLayout () {
+ Y = timeView.Bottom,
+ Height = Application.GetRealHeight (90) + 1,
+ BackgroundColor = 0xFFD7D7D7,
+ };
+ chooseTimeBodyView.AddChidren (bottomView);
+
+ var btnCloseTime = new Button () {
+ Y = 1,
+ Width = Application.GetRealWidth (320),
+ BackgroundColor = SkinStyle.Current.ViewColor,
+ TextID = R.MyInternationalizationString.Close,
+ TextAlignment = TextAlignment.Center,
+ TextColor = SkinStyle.Current.TextColor1,
+ };
+ bottomView.AddChidren (btnCloseTime);
+ btnCloseTime.MouseUpEventHandler += (ddf, dddf) => {
+ chooseTimeBodyView.RemoveAll ();
+ chooseTimeBodyView.RemoveFromParent ();
+ dialog.Close ();
+ };
+
+ var btnSaveTime = new Button () {
+ X = btnCloseTime.Right + 1,
+ Y = 1,
+ Width = Application.GetRealWidth (320),
+ TextID = R.MyInternationalizationString.SAVE,
+ BackgroundColor = SkinStyle.Current.ViewColor,
+ TextAlignment = TextAlignment.Center,
+ TextColor = SkinStyle.Current.TextColor1,
+ };
+ bottomView.AddChidren (btnSaveTime);
+ btnSaveTime.MouseUpEventHandler += (sender3, e3) => {
+ btnTimelbl.Text = chooseTimeString;
+ dialog.Close ();
+ };
+
+ var nowDateTime = DateTime.Now;
+ var hour = nowDateTime.Hour;
+ //hourStr
+ var hourStr = hour.ToString();
+ if (hour < 10) {
+ hourStr = "0" + hour;
+ }
+
+ var minute = nowDateTime.Minute;
+ //minuteStr
+ var minuteStr = minute.ToString ();
+ if (minute < 10) {
+ minuteStr = "0" + minute;
+ }
+ var hourList = new List<string> ();
+ for (int i = 0; i < 24; i++) {
+ if (i < 10) {
+ var a = "0" + i.ToString ();
+ hourList.Add (a);
+ } else {
+ hourList.Add (i.ToString ());
+ }
+
+ }
+
+ var minuteList = new List<string> ();
+ for (int i = 0; i < 60; i++) {
+ if (i < 10) {
+ var a = "0" + i.ToString ();
+ minuteList.Add (a);
+ } else {
+ minuteList.Add (i.ToString ());
+ }
+
+ }
+
+ chooseTime.setNPicker (hourList, minuteList, null);
+ chooseTime.setCurrentItems (hour, minute, 0);
+ chooseTimeString = hourStr + ":" + minuteStr;
+
+ //string selectde = "";
+ chooseTime.OnSelectChangeEvent += (s1, s2, s3) => {
+ var hourV = hourList [s1];
+ var minuteV = minuteList [s2];
+ chooseTimeString = hourV + ":" + minuteV;
+
+ };
+
+ dialog.Show ();
+
+ }
+
/// <summary>
/// 鍔犺浇鎴块棿璁惧鍒楄〃鐣岄潰
/// </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) {
- case "light.dimming": {
- #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) {
@@ -832,239 +971,252 @@
}
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;
- case "light.switch": {
- #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 "curtain.roller":
- case "curtain.trietex":
- case "curtain.switch": {
- #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 "fan": {
- #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",
+ //Text = "",
+ 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 ();
+ if (value == "0") {
+ btnFanLevel.Text = "OFF";
+ } else {
+ btnFanLevel.Text = value;
+ }
+ 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") {
+ fanLevel.Progress = int.Parse (fundev.value);
+ if (fundev.value == "0") {
+ btnFanLevel.Text = "OFF";
+ } else {
+ btnFanLevel.Text = 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 {
@@ -1080,20 +1232,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;
@@ -1101,7 +1257,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);
@@ -1111,8 +1267,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);
@@ -1122,6 +1315,6 @@
}
}
-
+
}
}
--
Gitblit v1.8.0