From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs | 126 ++++++++++++++++++++++++++++++----------- 1 files changed, 92 insertions(+), 34 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceAddSuccessForm.cs index c691a17..83a522d 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; @@ -34,12 +38,15 @@ /// <param name="deviceMac">璁惧Mac鍦板潃</param> public void ShowForm(string deviceMac) { - this.listNewDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac); + this.listNewDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(deviceMac); if (listNewDevice.Count == 0) { //瀵瑰簲鍗曠函鍙湁200鍥炶矾鐨勮澶� - listNewDevice.Add(Common.LocalDevice.Current.GetOTADevice(deviceMac)); + listNewDevice.Add(HdlDeviceCommonLogic.Current.GetOTADevice(deviceMac)); } + + //娣诲姞鏂拌澶囩殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshAllForm = true; //璁剧疆鏍囬淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddDevice)); @@ -49,6 +56,12 @@ //璁剧疆鍏ㄩ儴鍥炶矾鐨勯粯璁ゅ悕瀛� this.SetAllEpointName(); + // 璁剧疆缃戝叧鎵�鍦ㄧ殑鏃跺尯鐨勬椂闂寸粰闂ㄩ攣鏃堕棿 + this.SetDoorTime(); + //鏂板叆缃戠殑璁惧,娓呯┖鎺夊畠鐨勬埧闂� + this.ClearDeviceFromRoom(); + //娣诲姞璁惧鐨勬椂鍊�,鍏抽棴宸﹀垝鑿滃崟鐨勬湭鍒嗛厤鐣岄潰 + MainPage.LeftListRoomViewFrom.Instance?.CloseUnallocatedRoomForm(); } /// <summary> @@ -69,7 +82,7 @@ framePic.Y = Application.GetRealHeight(58); bodyFrameLayout.AddChidren(framePic); - var imageFile = Common.LocalDevice.Current.GetRealDeviceIcon(listNewDevice); + var imageFile = HdlDeviceCommonLogic.Current.GetRealDeviceIcon(listNewDevice); string fullName = IO.FileUtils.GetImageFilePath(imageFile); #if Android @@ -89,13 +102,14 @@ btnpictrue.UnSelectedImagePath = imageFile; framePic.AddChidren(btnpictrue); - string nameValue = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]); + string nameValue = HdlDeviceCommonLogic.Current.GetDeviceMacName(listNewDevice[0]); this.saveDefultName = nameValue; //璁惧澶囨敞 string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote); - string deviceName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]); - var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2); + string deviceName = HdlDeviceCommonLogic.Current.GetDeviceMacName(listNewDevice[0]); + this.btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2); + this.btnNote.txtInput.MaxByte = 48;//闄愬埗鍙兘杈撳叆48涓瓧鑺� listview.AddChidren(btnNote); btnNote.InitControl(); //鍒掔嚎 @@ -104,7 +118,7 @@ { if (btnNote.Text.Trim() == string.Empty) { - btnNote.Text = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]); + btnNote.Text = HdlDeviceCommonLogic.Current.GetDeviceMacName(listNewDevice[0]); return; } //淇敼鍚嶅瓧 @@ -113,7 +127,7 @@ //璁惧绫诲瀷 caption = Language.StringByID(R.MyInternationalizationString.uDeviceType); - deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice); + deviceName = HdlDeviceCommonLogic.Current.GetDeviceObjectText(listNewDevice); var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2); btnType.UseClickStatu = false; listview.AddChidren(btnType); @@ -121,38 +135,47 @@ //鍒掔嚎 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) { if (device is OTADevice) { continue; } - var room = Common.Room.CurrentRoom.GetRoomByDevice(device); - string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); + if (roomKeys == string.Empty) + { + //濡傛灉閫夋嫨鐨勬槸鏈垎閰嶏紝鍒欏畠鐨勫叏閮ㄥ洖璺棤鏉′欢鍏ㄩ儴娓呯┖鎴块棿 + HdlRoomLogic.Current.ChangedRoom(device, roomKeys); + continue; + } + + var room = HdlRoomLogic.Current.GetRoomByDevice(device); + string mainKeys = HdlDeviceCommonLogic.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); } } //淇濆瓨璁惧鎴块棿绱㈠紩 - Common.LocalDevice.Current.SaveRealDeviceRoomId(this.listNewDevice, roomKeys); + HdlRoomLogic.Current.SaveRealDeviceRoomId(this.listNewDevice, roomKeys); }; //鏇村閰嶇疆 @@ -164,13 +187,20 @@ btnHelp.Text = Language.StringByID(R.MyInternationalizationString.uMoreSettion); btnHelp.ButtonClickEvent += (sender, e) => { + //鏇存敼杩囦竴娆′箣鍚庯紝鍒欑晫闈㈠叧闂悗涓嶅啀鏇存敼 + this.saveDefultName = string.Empty; + //鏀瑰悕瀛� + btnNote.txtInput.FinishInputEvent(); + + this.CloseForm(); + var form = new DeviceMacInfoEditorForm(); form.AddForm(this.listNewDevice[0].DeviceAddr); }; bodyFrameLayout.AddChidren(btnHelp); //搴曠嚎 int lineWidth = btnHelp.GetRealWidthByText(); - var btnLine = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false); + var btnLine = new NormalViewControl(lineWidth, HdlControlResourse.BottomLineHeight, false); btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor; btnLine.Gravity = Gravity.CenterHorizontal; btnLine.Y = btnHelp.Bottom - Application.GetRealHeight(8); @@ -199,7 +229,7 @@ //璁惧缂栬緫 var btnTile = new NormalViewControl(800, 60, true); - btnTile.X = ControlCommonResourse.XXLeft; + btnTile.X = HdlControlResourse.XXLeft; btnTile.TextSize = 15; btnTile.TextColor = UserCenterColor.Current.TextColor2; btnTile.TextID = R.MyInternationalizationString.uDeviceEditor; @@ -217,6 +247,10 @@ detailBackFrame.AddChidren(btnFinish); btnFinish.MouseUpEventHandler += (sender, e) => { + //鏇存敼杩囦竴娆′箣鍚庯紝鍒欑晫闈㈠叧闂悗涓嶅啀鏇存敼 + this.saveDefultName = string.Empty; + //鏀瑰悕瀛� + btnNote.txtInput.FinishInputEvent(); //鍏抽棴鑷韩 this.CloseForm(); }; @@ -231,48 +265,72 @@ /// </summary> /// <param name="i_deviceName">deviceName.</param> /// <param name="mode">鏄惁鏄剧ず閿欒</param> - private async void DeviceReName(string i_deviceName, ShowErrorMode mode = ShowErrorMode.YES) + private void DeviceReName(string i_deviceName, ShowErrorMode mode = ShowErrorMode.YES) { //淇敼MAC鍚� string deviceName = i_deviceName.Trim(); - var result = await Common.LocalDevice.Current.ReMacName(this.listNewDevice, deviceName, mode); + var result = HdlDeviceCommonLogic.Current.ReMacName(this.listNewDevice, deviceName, mode); if (result == false) { return; } //鏇存敼杩囦竴娆′箣鍚庯紝鍒欑晫闈㈠叧闂悗涓嶅啀鏇存敼 this.saveDefultName = string.Empty; - - //濡傛灉瀹冪殑鍥炶矾鍙湁涓�涓殑璇濓紝鍒欏湪璁惧涓婃姤鐨勬椂鍊欙紝淇敼MAC鍚嶅瓧涔嬪悗锛岃繛鍚岀鐐瑰悕瀛椾篃涓�璧蜂慨鏀� - if (this.listNewDevice.Count == 1 && (this.listNewDevice[0] is OTADevice) == false) - { - //淇敼绔偣鍚嶅瓧 - result = await Common.LocalDevice.Current.ReName(this.listNewDevice[0], deviceName, mode); - if (result == false) - { - return; - } - } } /// <summary> /// 璁剧疆鍏ㄩ儴鍥炶矾鐨勯粯璁ゅ悕瀛� /// </summary> - private async void SetAllEpointName() + private void SetAllEpointName() { foreach (var device in this.listNewDevice) { - if ((device is OTADevice) || Common.LocalDevice.Current.GetSimpleEpointName(device) != string.Empty) + if ((device is OTADevice) || HdlDeviceCommonLogic.Current.GetSimpleEpointName(device) != string.Empty) { //鏈夊悕瀛椾笉澶勭悊 continue; } //鑾峰彇绔偣鍚嶅瓧 - var epointName = Common.LocalDevice.Current.GetDeviceEpointName(device); - await Common.LocalDevice.Current.ReName(device, epointName, ShowErrorMode.NO); + var epointName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device); + HdlDeviceCommonLogic.Current.ReName(device, epointName, ShowErrorMode.NO); } } + /// <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); + } + HdlRoomLogic.Current.DeleteRealDeviceFromRoom(this.listNewDevice[0]); + } + #endregion #region 鈻� 鐢婚潰鍏抽棴___________________________ -- Gitblit v1.8.0