From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs | 91 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 69 insertions(+), 22 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs index f1f280b..55dbad5 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs @@ -369,19 +369,26 @@ } } - //寤舵椂 - 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); + }; + } //淇濆瓨 var btnSave = new BottomClickButton(); @@ -411,7 +418,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 +428,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 +448,7 @@ } //鑾峰彇pir鐨勯厤缃俊鎭� - this.pirConfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone); + this.pirConfigure = HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone); if (pirConfigure == null) { //鍏抽棴杩涘害鏉� @@ -509,7 +520,7 @@ PickerView.ShowSecondary(listfirst, listSecond, (value1, value2) => { - btnTime.Text = listfirst[value1] + listSecond[value1][value2]; + btnTime.Text = listfirst[value1].TrimStart('0') + listSecond[value1][value2]; 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 +541,7 @@ /// <summary> /// 淇濆瓨Pir浼犳劅鍣ㄦ暟鎹� /// </summary> - private async void SavePirSensorData() + private void SavePirSensorData() { if (this.isDataChanged == false) { @@ -549,44 +560,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