From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs | 306 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 282 insertions(+), 24 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
index f99f0f5..891aeeb 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
@@ -88,7 +88,24 @@
{
this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028);
}
- else
+ else if (this.deviceObj.Type == DeviceType.Airer)
+ {
+ //鏅捐。鏋惰澶囧彧瀛樺彇鍥炶矾1锛屽鏋滄槸鏅捐。鏋讹紝榛樿绔偣閮芥槸1锛�
+ this.deviceObj.DeviceEpoint = 1;
+ this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1342);
+ }
+ else if (this.deviceObj.Type == DeviceType.TemperatureSensor)
+ {
+ //绌烘皵璐ㄩ噺浼犳劅鍣�
+ //鑾峰彇璁惧绫诲瀷
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { this.deviceObj });
+ //绌烘皵璐ㄩ噺浼犳劅鍣�
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+ {
+ this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1368);
+ }
+ }
+ if (this.listview == null)
{
this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1128);
}
@@ -106,26 +123,37 @@
dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = frameDeviceName.Text.Trim();
foreach (var epoint in dicDeviceSaveName.Keys)
{
- var device = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, epoint);
+ var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
if (device == null || dicDeviceSaveName[epoint] == string.Empty)
{
//涓嶈兘鍏佽绌虹櫧鍚嶅瓧
continue;
}
string newName = dicDeviceSaveName[epoint];
- string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
+ string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device);
if (oldName != newName)
{
//璁惧鍚嶇О淇敼
- var result = HdlDeviceCommonLogic.Current.ReName(device, newName);
+ var result = Common.LocalDevice.Current.ReName(device, newName);
if (result == false)
{
return;
}
}
}
+
+ //濡傛灉鏄櫨琛f灦銆屾椂闂村厛涓嶅鐞嗐��
+ //if (deviceObj.Type == DeviceType.Airer)
+ //{
+ // var airer = deviceObj as Airer;
+ // SetAirerFunTimeDevice(airer);
+ //}
+ //else
+ //{
//鍏抽棴鑷韩
this.CloseForm();
+ //}
+
};
//濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欎笉鑳界紪杈�
if (Common.Config.Instance.Home.IsShowTemplate == true)
@@ -143,7 +171,8 @@
//鍥炶矾澶囨敞
string caption = Language.StringByID(R.MyInternationalizationString.uDeviceEpointNote);
- string nameValue = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice);
+ string nameValue = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice);
+
if (dicDeviceSaveName.ContainsKey(nowSelectDevice.DeviceEpoint) == true)
{
nameValue = dicDeviceSaveName[nowSelectDevice.DeviceEpoint];
@@ -159,7 +188,7 @@
{
frameDeviceName.txtInput.FinishInputEvent += () =>
{
- string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice);
+ string oldName = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice);
if (frameDeviceName.Text.Trim() == string.Empty)
{
//灏嗗悕瀛楄繕鍘�
@@ -168,7 +197,7 @@
if (oldName != frameDeviceName.Text.Trim())
{
//璁惧鍚嶇О淇敼
- var result = HdlDeviceCommonLogic.Current.ReName(nowSelectDevice, frameDeviceName.Text.Trim());
+ var result = Common.LocalDevice.Current.ReName(nowSelectDevice, frameDeviceName.Text.Trim());
if (result == false)
{
return;
@@ -192,8 +221,32 @@
HdlRoomLogic.Current.ChangedRoom(nowSelectDevice, roomKeys);
};
+ if (this.deviceObj.Type == DeviceType.TemperatureSensor)
+ {
+ //鑾峰彇璁惧绫诲瀷
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { this.deviceObj });
+ //绌烘皵璐ㄩ噺浼犳劅鍣�
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+ {
+ //璁惧绫诲瀷
+ this.AddDeviceTypeRow();
+ }
+ }
+
//娣诲姞鍔熻兘绫诲瀷琛�
this.AddFunctionTypeRow();
+
+ if (this.deviceObj.Type == DeviceType.Airer)
+ {
+ var airer = this.deviceObj as Airer;
+ //娣诲姞鐑樺共鏃堕棿琛�
+ this.AddAirerDryTimeRow(airer);
+ //娣诲姞椋庡共鏃堕棿琛�
+ this.AddAirerWindTimeRow(airer);
+ //娣诲姞娑堟瘨鏃堕棿琛�
+ this.AddAirerDisinfectTimeRow(airer);
+ }
+
//鍒濆鍖栨甯冨畬鎴�
tableContr.FinishInitControl();
}
@@ -208,7 +261,7 @@
private void InitTopRightMenu()
{
//妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘
- if (HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false
+ if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false
|| Common.Config.Instance.Home.IsShowTemplate == true)
{
return;
@@ -232,7 +285,7 @@
int menuCount = 1;
string deviceMenu = string.Empty;
//妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘
- bool canTest = HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice);
+ bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice);
//if (canTest == true)
//{
// menuCount = 2;
@@ -245,7 +298,7 @@
frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
{
//鍙戦�佸畾浣嶅姛鑳�
- HdlDeviceCommonLogic.Current.SetFixedPositionCommand(nowSelectDevice);
+ Common.LocalDevice.Current.SetFixedPositionCommand(nowSelectDevice);
});
}
@@ -276,7 +329,171 @@
//搴曠嚎
rowFunction.AddBottomLine();
}
+ #endregion
+ #region 鈻� 璁惧绫诲瀷___________________________
+
+ /// <summary>
+ /// 娣诲姞鍔熻兘绫诲瀷琛�
+ /// </summary>
+ private void AddDeviceTypeRow()
+ {
+ var caption = Language.StringByID(R.MyInternationalizationString.uDeviceType);
+ var listNewDevice = new List<CommonDevice>();
+ listNewDevice.Add(deviceObj);
+ var deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice);
+ var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2);
+ btnType.UseClickStatu = false;
+ listview.AddChidren(btnType);
+ btnType.InitControl();
+ //鍒掔嚎
+ btnType.AddBottomLine();
+ }
+ #endregion
+
+ #region 鈻� 鏅捐。鏋朵笓鐢╛________________________
+ #region 鈻� 鐑樺共鏃堕棿_________________________
+ /// <summary>
+ /// 鐑樺共鏃堕棿琛�
+ /// </summary>
+ private void AddAirerDryTimeRow(Airer airer)
+ {
+ var rowAirer = new AiererTimeControl(listview.rowSpace / 2);
+ listview.AddChidren(rowAirer);
+ var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour);
+ if (airer.DryTime != 0)
+ {
+ double result = airer.DryTime / 60.0;
+ var hour = Math.Round(result, 2);
+ text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour);
+ }
+ rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1);
+ //搴曠嚎
+ rowAirer.AddBottomLine();
+ rowAirer.SelectTimeEvent += (v1, v2) =>
+ {
+ //double result = second / 3600.0;
+ //var hour = Math.Round(result, 1);
+ //text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour);
+ //rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1);
+ };
+
+ }
+ #endregion
+
+ #region 鈻� 椋庡共鏃堕棿_________________________
+ /// <summary>
+ /// 椋庡共鏃堕棿琛�
+ /// </summary>
+ private void AddAirerWindTimeRow(Airer airer)
+ {
+ var rowAirer = new AiererTimeControl(listview.rowSpace / 2);
+ listview.AddChidren(rowAirer);
+ var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour);
+ if (airer.WindTime != 0)
+ {
+ double result = airer.WindTime / 60.0;
+ var hour = Math.Round(result, 1);
+ text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour);
+ }
+ rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerWindTime), text, 2);
+ //搴曠嚎
+ rowAirer.AddBottomLine();
+ rowAirer.SelectTimeEvent += (v1, v2) =>
+ {
+ //double result = second / 3600.0;
+ //var hour = Math.Round(result, 1);
+ //text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour);
+ //rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1);
+ };
+ }
+ #endregion
+
+ #region 鈻� 娑堟瘨鏃堕棿_________________________
+ /// <summary>
+ /// 娑堟瘨鏃堕棿琛�
+ /// </summary>
+ private void AddAirerDisinfectTimeRow(Airer airer)
+ {
+ var rowAirer = new AiererTimeControl(listview.rowSpace / 2);
+ listview.AddChidren(rowAirer);
+ var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 30 + Language.StringByID(R.MyInternationalizationString.AirerMin);
+ if (airer.DisinfectTime != 0)
+ {
+ text = airer.DisinfectTime + Language.StringByID(R.MyInternationalizationString.AirerMin);
+ }
+ rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDisinfectTime), text, 3);
+ //搴曠嚎
+ rowAirer.AddBottomLine();
+ rowAirer.SelectTimeEvent += (v1, v2) =>
+ {
+
+ };
+ }
+ #endregion
+
+ #region 鈻� 璇诲彇鏃堕棿鍛戒护___________________
+
+ /// <summary>
+ /// 璇诲彇鏃堕棿鍛戒护
+ /// </summary>
+ public void ReadAirerFunTimeDevice()
+ {
+
+ }
+
+ #endregion
+
+ /// <summary>
+ /// 璁惧鏃堕棿璁剧疆
+ /// </summary>
+ private void SetAirerFunTimeDevice(Airer airer)
+ {
+ HdlThreadLogic.Current.RunThread(async () =>
+ {
+ //鎵撳紑杩涘害鏉�
+ this.ShowProgressBar();
+
+ //鍒欒璁剧疆瀵瑰簲鐨勫姛鑳芥椂闂�
+ List<CommonDevice> listdevice = new List<CommonDevice>();
+
+ for (int i = 3; i < 6; i++)
+ {
+ int time = 0;
+ listdevice.Add(deviceObj);
+ switch (i)
+ {
+ case 3:
+ time = airer.WindTime;
+ break;
+ case 4:
+ time = airer.DryTime;
+ break;
+ case 5:
+ time = airer.DisinfectTime;
+ break;
+ }
+ bool result = await Common.LocalDevice.Current.SetAirerTimeDevice(listdevice, airer, time, i);
+ if (result == false)
+ {
+ airer.WindTime = airer.WindRemainTime = 0;
+ airer.DryTime = airer.DryRemainTime = 0;
+ airer.DisinfectTime = airer.DisinfectTime = 0;
+ HdlThreadLogic.Current.RunMainInThread(() =>
+ {
+ this.InitMiddleFrame();
+ });
+ //鍏抽棴杩涘害鏉�
+ this.CloseProgressBar();
+ return;
+ }
+ }
+ //鍏抽棴杩涘害鏉�
+ this.CloseProgressBar();
+ //鍏抽棴鑷韩
+ this.CloseForm();
+ });
+ }
#endregion
#region 鈻� 鍒濆鍖栬澶囧洖璺浘鏍嘷________________
@@ -354,6 +571,39 @@
frameBack.Y = Application.GetRealHeight(153);
frameBack.Gravity = Gravity.Center;
}
+
+ //濡傛灉鏄櫨琛f灦
+ if (deviceObj.Type == DeviceType.Airer)
+ {
+ frame.RemoveFromParent();
+ frameBorder.Y = Application.GetRealHeight(0);
+ frameBorder.Height = Application.GetRealHeight(299);
+ frameBack.BackgroundImagePath = "Airer/Airer216.png";
+ frameBack.Width = this.GetPictrueRealSize(207);
+ frameBack.Height = this.GetPictrueRealSize(207);
+ frameBack.Y = Application.GetRealHeight(92);
+ frameBack.Gravity = Gravity.CenterHorizontal;
+ }
+
+ //濡傛灉鏄┖姘旇川閲忎紶鎰熷櫒
+ if (this.deviceObj.Type == DeviceType.TemperatureSensor)
+ {//绌烘皵璐ㄩ噺浼犳劅鍣�
+ //鑾峰彇璁惧绫诲瀷
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { this.deviceObj });
+ //绌烘皵璐ㄩ噺浼犳劅鍣�
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+ {
+ frame.RemoveFromParent();
+ frameBorder.Y = Application.GetRealHeight(0);
+ frameBorder.Height = Application.GetRealHeight(299);
+ //鍔犺浇鍥炬爣鎺т欢
+ var btnPic = new DeviceInfoIconControl();
+ btnPic.Y = Application.GetRealHeight(104);
+ btnPic.Gravity = Gravity.CenterHorizontal;
+ listBackControl.frameTable.AddChidren(btnPic);
+ btnPic.InitControl(deviceObj);
+ }
+ }
}
else
{
@@ -361,16 +611,20 @@
}
}
- if (listIcon.Count > 2)
+ //濡傛灉鏄櫨琛f灦,鏈�5涓洖璺紝浣嗘槸5涓洖璺彧鏄唬琛ㄤ笉鍚屽姛鑳戒娇鐢紝涓嶆槸鐪熷疄鐨勫搴旇澶囷紝鎵�浠ラ粯璁ゅ彧鏄剧ず绗竴鍥炶矾
+ if (deviceObj.Type != DeviceType.Airer)
{
- //璁$畻鐪熷疄楂樺害
- int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛
- realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害
- realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛
- if (realHeight > frameBack.Height)
+ if (listIcon.Count > 2)
{
- //鍙樻洿楂樺害
- frameBack.Height = realHeight;
+ //璁$畻鐪熷疄楂樺害
+ int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛
+ realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害
+ realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛
+ if (realHeight > frameBack.Height)
+ {
+ //鍙樻洿楂樺害
+ frameBack.Height = realHeight;
+ }
}
}
}
@@ -424,7 +678,7 @@
private List<List<CommonDevice>> GetAllDeviceGroup()
{
bool hadDevice = false;
- var listDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(deviceObj.DeviceAddr);
+ var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr);
var listRelay = new List<CommonDevice>();
foreach (var device in listDevice)
{
@@ -440,8 +694,8 @@
}
//鑾峰彇璁惧灞炰簬銆愮畝绾﹀鍔熻兘闈㈡澘銆�
- var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice);
- if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction)
{
if (device.Type == DeviceType.TemperatureSensor && device.DeviceEpoint == 1)
{
@@ -505,10 +759,14 @@
if (nowSelectControl != null)
{
//鍚屼竴涓笢瑗�,涓嶉笩浠�
- if (nowSelectControl.Name == nowContr.Name)
+ if (this.deviceObj.Type != DeviceType.Airer)
{
- return;
+ if (nowSelectControl.Name == nowContr.Name)
+ {
+ return;
+ }
}
+
//涓嶉�夋嫨鐘舵��
nowSelectControl.BorderColor = 0xff979797;
nowSelectControl.TextSize = 13;
@@ -522,7 +780,7 @@
nowContr.TextColor = UserCenterColor.Current.TextColor1;
nowSelectControl = nowContr;
- nowSelectDevice = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty)));
+ nowSelectDevice = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty)));
//閲嶆柊鍒濆鍖栬彍鍗曡
this.InitMenuRow();
--
Gitblit v1.8.0