From e96e11d6f8b965ea522c983e040d41e3b9ef105a Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 18 五月 2020 21:33:19 +0800
Subject: [PATCH] 2020-05-18-4
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs | 95 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 77 insertions(+), 18 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
index 0554fa7..cfdf0b0 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs
@@ -20,6 +20,10 @@
/// </summary>
private VerticalListControl listview = null;
/// <summary>
+ /// 璁惧澶囨敞鎺т欢
+ /// </summary>
+ private FrameCaptionInputControl btnNote = null;
+ /// <summary>
/// 淇濆瓨榛樿鍚嶅瓧(涓昏閽堝娌℃湁淇敼鍚嶅瓧鐨勬椂鍊欙紝蹇呴』瑕佺粰涓�涓粯璁ゅ悕瀛楃粰缃戝叧)
/// </summary>
private string saveDefultName = string.Empty;
@@ -35,6 +39,11 @@
public void ShowForm(string deviceMac)
{
this.listNewDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
+ if (listNewDevice.Count == 0)
+ {
+ //瀵瑰簲鍗曠函鍙湁200鍥炶矾鐨勮澶�
+ listNewDevice.Add(Common.LocalDevice.Current.GetOTADevice(deviceMac));
+ }
//璁剧疆鏍囬淇℃伅
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddDevice));
@@ -44,6 +53,10 @@
//璁剧疆鍏ㄩ儴鍥炶矾鐨勯粯璁ゅ悕瀛�
this.SetAllEpointName();
+ // 璁剧疆缃戝叧鎵�鍦ㄧ殑鏃跺尯鐨勬椂闂寸粰闂ㄩ攣鏃堕棿
+ this.SetDoorTime();
+ //鏂板叆缃戠殑璁惧,娓呯┖鎺夊畠鐨勬埧闂�
+ this.ClearDeviceFromRoom();
}
/// <summary>
@@ -90,7 +103,7 @@
//璁惧澶囨敞
string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
string deviceName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]);
- var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2);
+ this.btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2);
listview.AddChidren(btnNote);
btnNote.InitControl();
//鍒掔嚎
@@ -116,30 +129,43 @@
//鍒掔嚎
btnType.AddBottomLine();
- //鎵�灞炲尯鍩�
+ //瀹夎浣嶇疆
var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
listview.AddChidren(rowBeloneArea);
- rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), this.listNewDevice);
+ rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uInstallationLocation), this.listNewDevice);
//搴曠嚎
rowBeloneArea.AddBottomLine();
var listCheck = new List<string>();
rowBeloneArea.SelectRoomEvent += (roomKeys) =>
{
+ //閫夋嫨鏈垎閰嶆椂,娓呯┖
+ if (roomKeys == string.Empty) { listCheck = new List<string>(); }
foreach (var device in this.listNewDevice)
{
- var room = Common.Room.CurrentRoom.GetRoomByDevice(device);
+ if (device is OTADevice)
+ {
+ continue;
+ }
+ if (roomKeys == string.Empty)
+ {
+ //濡傛灉閫夋嫨鐨勬槸鏈垎閰嶏紝鍒欏畠鐨勫叏閮ㄥ洖璺棤鏉′欢鍏ㄩ儴娓呯┖鎴块棿
+ HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
+ continue;
+ }
+
+ var room = HdlRoomLogic.Current.GetRoomByDevice(device);
string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
if (room == null)
{
//杩欓噷鏈夌偣鐗规畩,濡傛灉鍥炶矾娌℃湁璁剧疆鏈夊尯鍩熺殑鏃跺��,鎵嶈缃�
listCheck.Add(mainKeys);
- Common.Room.CurrentRoom.ChangedRoom(device, roomKeys);
+ HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
}
else if (listCheck.Contains(mainKeys) == true)
{
//濡傛灉杩欎釜鍥炶矾涔嬪墠閮借繕娌℃湁鍖哄煙,鍦ㄦ湰鐣岄潰杩樻病鏈夊叧闂箣鍓�,鍙互鏃犳潯浠堕殢渚垮彉鏇�
- Common.Room.CurrentRoom.ChangedRoom(device, roomKeys);
+ HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
}
}
//淇濆瓨璁惧鎴块棿绱㈠紩
@@ -155,6 +181,11 @@
btnHelp.Text = Language.StringByID(R.MyInternationalizationString.uMoreSettion);
btnHelp.ButtonClickEvent += (sender, e) =>
{
+ //鏇存敼杩囦竴娆′箣鍚庯紝鍒欑晫闈㈠叧闂悗涓嶅啀鏇存敼
+ this.saveDefultName = string.Empty;
+ //鏀瑰悕瀛�
+ btnNote.txtInput.FinishInputEvent();
+
var form = new DeviceMacInfoEditorForm();
form.AddForm(this.listNewDevice[0].DeviceAddr);
};
@@ -208,6 +239,10 @@
detailBackFrame.AddChidren(btnFinish);
btnFinish.MouseUpEventHandler += (sender, e) =>
{
+ //鏇存敼杩囦竴娆′箣鍚庯紝鍒欑晫闈㈠叧闂悗涓嶅啀鏇存敼
+ this.saveDefultName = string.Empty;
+ //鏀瑰悕瀛�
+ btnNote.txtInput.FinishInputEvent();
//鍏抽棴鑷韩
this.CloseForm();
};
@@ -233,17 +268,6 @@
}
//鏇存敼杩囦竴娆′箣鍚庯紝鍒欑晫闈㈠叧闂悗涓嶅啀鏇存敼
this.saveDefultName = string.Empty;
-
- //濡傛灉瀹冪殑鍥炶矾鍙湁涓�涓殑璇濓紝鍒欏湪璁惧涓婃姤鐨勬椂鍊欙紝淇敼MAC鍚嶅瓧涔嬪悗锛岃繛鍚岀鐐瑰悕瀛椾篃涓�璧蜂慨鏀�
- if (this.listNewDevice.Count == 1)
- {
- //淇敼绔偣鍚嶅瓧
- result = await Common.LocalDevice.Current.ReName(this.listNewDevice[0], deviceName, mode);
- if (result == false)
- {
- return;
- }
- }
}
/// <summary>
@@ -253,7 +277,7 @@
{
foreach (var device in this.listNewDevice)
{
- if (Common.LocalDevice.Current.GetSimpleEpointName(device) != string.Empty)
+ if ((device is OTADevice) || Common.LocalDevice.Current.GetSimpleEpointName(device) != string.Empty)
{
//鏈夊悕瀛椾笉澶勭悊
continue;
@@ -264,6 +288,41 @@
}
}
+ /// <summary>
+ /// 璁剧疆缃戝叧鎵�鍦ㄧ殑鏃跺尯鐨勬椂闂寸粰闂ㄩ攣鏃堕棿
+ /// </summary>
+ private async void SetDoorTime()
+ {
+ //濡傛灉鏄棬閿�
+ if (this.listNewDevice[0].Type == DeviceType.DoorLock)
+ {
+ var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock;
+ //1銆佸叆缃戝悗鍏堣幏鍙栭棬閿佸湪缃戝叧涓殑鏃跺尯鏃堕棿
+ var curDateTime = DoorLock.DoorLockCommonInfo.GetDoorLockZoneTime();
+ //2銆佸皢鏃堕棿璁剧疆鍒扮綉鍏充腑
+ var dateTime = new DateTime(curDateTime.Year, curDateTime.Month, curDateTime.Day, curDateTime.Hour, curDateTime.Minute, curDateTime.Second);
+ var setTimestamp = DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(dateTime);
+ await doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp));
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ /// <summary>
+ /// 鏂板叆缃戠殑璁惧,娓呯┖鎺夊畠鐨勬埧闂�
+ /// </summary>
+ private void ClearDeviceFromRoom()
+ {
+ foreach (var device in this.listNewDevice)
+ {
+ HdlRoomLogic.Current.DeleteDevice(device);
+ HdlRoomLogic.Current.DeleteLoveDevice(device);
+ }
+ Common.LocalDevice.Current.DeleteRealDeviceFromRoom(this.listNewDevice[0]);
+ }
+
#endregion
#region 鈻� 鐢婚潰鍏抽棴___________________________
--
Gitblit v1.8.0