From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 01 十二月 2022 09:56:25 +0800 Subject: [PATCH] 2022年12月01日09:56:23 --- ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs | 121 ++++++++++++++++++++++++++++++++------- 1 files changed, 98 insertions(+), 23 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs index f1f280b..49a9a16 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs @@ -102,6 +102,11 @@ var btnLux = frameNowLinght.AddLeftCaption(txtValue + "锛�" + pirLuxValue + "lux", 900); HdlThreadLogic.Current.RunThread(async () => { + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + return; + } while (this.Parent != null) { //浠栦滑璇磋繖涓笢瑗胯2绉掑埛鏂颁竴娆� 鑾峰彇PIR浼犳劅鍣ㄧ殑銆恖ux鍊笺�� @@ -233,6 +238,14 @@ this.pirConfigure.levelSize = seekBar.Progress; btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux"; }; + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + btnSwitch.CanClick = false; + seekBar.Enable = false; + btnMinus.CanClick = false; + btnPlus.CanClick = false; + } //鏆� var btnDark = new NormalViewControl(120, 50, true); @@ -369,20 +382,31 @@ } } - //寤舵椂 - string strMinute = pirConfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute); - string strSecond = pirConfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond); - var rowDelay = new FrameRowControl(listView.rowSpace / 2); - rowDelay.LeftOffset = Application.GetRealWidth(138) - ControlCommonResourse.XXLeft; - frameResult.AddChidren(rowDelay); - rowDelay.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDelayed), 300); - rowDelay.AddRightArrow(); - var btnDelayView = rowDelay.AddMostRightView(strMinute + strSecond, 700); - rowDelay.ButtonClickEvent += (sender, e) => + //寤舵椂(鍗婅嚜鍔ㄦ病鏈夊欢鏃剁殑姒傚康) + if (this.pirConfigure.mode == 1) { - this.ShowDelayListTime(btnDelayView); - }; - + string strMinute = string.Empty; + if (pirConfigure.transitionTime / 60 > 0) + { + strMinute = pirConfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute); + } + string strSecond = pirConfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond); + var rowDelay = new FrameRowControl(listView.rowSpace / 2); + rowDelay.LeftOffset = Application.GetRealWidth(138) - ControlCommonResourse.XXLeft; + frameResult.AddChidren(rowDelay); + rowDelay.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDelayed), 300); + rowDelay.AddRightArrow(); + var btnDelayView = rowDelay.AddMostRightView(strMinute + strSecond, 700); + rowDelay.ButtonClickEvent += (sender, e) => + { + this.ShowDelayListTime(btnDelayView); + }; + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + rowDelay.CanClick = false; + } + } //淇濆瓨 var btnSave = new BottomClickButton(); btnSave.TextID = R.MyInternationalizationString.uSave; @@ -395,6 +419,11 @@ this.SavePirSensorData(); }); }; + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + btnSave.CanClick = false; + } } #endregion @@ -411,7 +440,7 @@ this.ShowProgressBar(); //鑾峰彇缁戝畾鐩爣璁惧 - List<CommonDevice> listDevice = await HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone); + List<CommonDevice> listDevice = HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone); if (listDevice == null) { //鍏抽棴杩涘害鏉� @@ -421,7 +450,11 @@ this.listEsixtDevice.Clear(); foreach (var device in listDevice) { - this.listEsixtDevice.Add(Common.LocalDevice.Current.GetDeviceMainKeys(device)); + string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); + if (listEsixtDevice.Contains(mainKeys) == false) + { + listEsixtDevice.Add(mainKeys); + } } //鑾峰彇PIR浼犳劅鍣ㄧ殑銆愬厜鎰熺瓑绾ф�诲埢搴︺�� this.lightLevelCount = await HdlDevicePirSensorLogic.Current.GetPirLightAbilitySize(this.deviceIASZone); @@ -437,7 +470,7 @@ } //鑾峰彇pir鐨勯厤缃俊鎭� - this.pirConfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone); + this.pirConfigure = HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone); if (pirConfigure == null) { //鍏抽棴杩涘害鏉� @@ -509,7 +542,13 @@ PickerView.ShowSecondary(listfirst, listSecond, (value1, value2) => { - btnTime.Text = listfirst[value1] + listSecond[value1][value2]; + string textValue = listSecond[value1][value2]; + if (value1 != 0) + { + textValue = listfirst[value1].TrimStart('0') + textValue; + } + btnTime.Text = textValue; + int minute = Convert.ToInt32(listfirst[value1].Substring(0, 2)); int second = Convert.ToInt32(listSecond[value1][value2].Substring(0, 2)); int delaySecond = minute * 60 + second; @@ -530,7 +569,7 @@ /// <summary> /// 淇濆瓨Pir浼犳劅鍣ㄦ暟鎹� /// </summary> - private async void SavePirSensorData() + private void SavePirSensorData() { if (this.isDataChanged == false) { @@ -549,44 +588,80 @@ { //鍒犻櫎缁戝畾鐩爣 var listDelDevice = new List<CommonDevice>(); + var listLightDevice = new List<CommonDevice>(); foreach (string mainKey in listEsixtDevice) { if (this.listSaveDevice.Contains(mainKey) == false) { - listDelDevice.Add(Common.LocalDevice.Current.GetDevice(mainKey)); + var myDevice = Common.LocalDevice.Current.GetDevice(mainKey); + listDelDevice.Add(myDevice); + if (myDevice.Type == DeviceType.DimmableLight) + { + //濡傛灉鏄皟鍏夊櫒鐨勮瘽,鐗规畩涓�鐐� + listLightDevice.Add(myDevice); + } } } if (listDelDevice.Count > 0) { //鍒犻櫎鐩爣 - var listSucess = await HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listDelDevice); + var listSucess = HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listDelDevice); if (listSucess == null || listSucess.Count == 0) { //鍏抽棴杩涘害鏉� this.CloseProgressBar(); return; + } + if (listLightDevice.Count > 0) + { + //鍒犻櫎璋冨厜鍣ㄩ暈 + listSucess = HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listLightDevice, 8); + if (listSucess == null || listSucess.Count == 0) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } } } //缁戝畾鐩爣 var listBind = new List<CommonDevice>(); + listLightDevice = new List<CommonDevice>(); foreach (var mainKey in listSaveDevice) { - listBind.Add(Common.LocalDevice.Current.GetDevice(mainKey)); + var myDevice = Common.LocalDevice.Current.GetDevice(mainKey); + listBind.Add(myDevice); + if (myDevice.Type == DeviceType.DimmableLight) + { + //濡傛灉鏄皟鍏夊櫒鐨勮瘽,鐗规畩涓�鐐� + listLightDevice.Add(myDevice); + } } if (listSaveDevice.Count > 0) { //缁戝畾鐩爣 - var listSucess = await HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listBind); + var listSucess = HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listBind); if (listSucess == null || listSucess.Count == 0) { //鍏抽棴杩涘害鏉� this.CloseProgressBar(); return; } + if (listLightDevice.Count > 0) + { + //缁戝畾璋冨厜闀� + listSucess = HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listLightDevice, 8); + if (listSucess == null || listSucess.Count == 0) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + } } } //淇濆瓨pir閰嶇疆淇℃伅 - var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.pirConfigure); + var result = HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.pirConfigure); if (result == false) { //鍏抽棴杩涘害鏉� -- Gitblit v1.8.0