From d78515ac4ac8cf4a1785d9df18058d6724f12b79 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 14 一月 2021 19:34:59 +0800 Subject: [PATCH] 合并xm2021-01-13 wjc2021-02-06 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AirQualitySensorLogic.cs | 207 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 163 insertions(+), 44 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AirQualitySensorLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AirQualitySensorLogic.cs index d4a05bf..66ee203 100644 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AirQualitySensorLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AirQualitySensorLogic.cs @@ -25,7 +25,13 @@ { curLedTimeData = ledTimeData; } - setLedTimeData = curLedTimeData; + setLedTimeData.enable= curLedTimeData.enable; + setLedTimeData.endHour = curLedTimeData.endHour; + setLedTimeData.endMin = curLedTimeData.endMin; + setLedTimeData.remark = curLedTimeData.remark; + setLedTimeData.serialNum = curLedTimeData.serialNum; + setLedTimeData.startHour = curLedTimeData.startHour; + setLedTimeData.startMin = curLedTimeData.startMin; this.curNum = curNum; } @@ -41,7 +47,7 @@ /// <summary> /// 鐏缃伅鏁版嵁 /// </summary> - TemperatureSensor.LedTimeData setLedTimeData = new TemperatureSensor.LedTimeData(); + TimeData setLedTimeData = new TimeData(); /// <summary> /// 褰撳墠瀛樺湪鐨勭伅鏁版嵁 /// </summary> @@ -51,6 +57,10 @@ /// </summary> EditText nameLed; public Action refreshAction; + /// <summary> + /// 褰撳墠鎿嶄綔绱㈠紩 + /// </summary> + private int curOperateIndex = 0; #endregion /// <summary> @@ -128,11 +138,11 @@ logicnamefl.AddChidren(nameLed); if (string.IsNullOrEmpty(curLedTimeData.remark)) { - nameLed.PlaceholderText = Language.StringByID(MyInternationalizationString.LEDSet); + nameLed.Text = Language.StringByID(MyInternationalizationString.LEDSet); } else { - nameLed.PlaceholderText = curLedTimeData.remark; + nameLed.Text = curLedTimeData.remark; } #endregion @@ -268,7 +278,7 @@ { try { - if (setLedTimeData.startHour == 0) + if (setLedTimeData.startHour == -1) { Application.RunOnMainThread(() => { @@ -276,7 +286,7 @@ }); return; } - if (setLedTimeData.endHour == 0) + if (setLedTimeData.endHour == -1) { Application.RunOnMainThread(() => { @@ -284,6 +294,13 @@ }); return; } + + if (!CheckValidTime(setLedTimeData.startHour, setLedTimeData.startMin, setLedTimeData.endHour, setLedTimeData.endMin)) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.LedBindTip1), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); + return; + } + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); @@ -295,6 +312,19 @@ else { setLedTimeData.remark = nameLed.Text; + } + + if (!string.IsNullOrEmpty(setLedTimeData.remark)) + { + var reamarkGwBytes = System.Text.Encoding.UTF8.GetBytes(setLedTimeData.remark); + if (36 < reamarkGwBytes.Length) + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.LedNameTooLong), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); + }); + return; + } } setLedTimeData.enable = 1; @@ -315,19 +345,26 @@ } } } - - var result = await sensor.SetAirQualitySensorLedTime(setLedTimeData); + TemperatureSensor.LedTimeData ledTimeDataTemp = new TemperatureSensor.LedTimeData(); + ledTimeDataTemp.enable = setLedTimeData.enable; + ledTimeDataTemp.endHour = setLedTimeData.endHour; + ledTimeDataTemp.endMin = setLedTimeData.endMin; + ledTimeDataTemp.remark = setLedTimeData.remark; + ledTimeDataTemp.serialNum = setLedTimeData.serialNum; + ledTimeDataTemp.startHour = setLedTimeData.startHour; + ledTimeDataTemp.startMin = setLedTimeData.startMin; + var result = await sensor.SetAirQualitySensorLedTime(ledTimeDataTemp); if (result != null && result.responseData != null) { if (result.responseData.status == 0) { if (sensor.AirQualitySensorLedTimeList.ContainsKey(setLedTimeData.serialNum)) { - sensor.AirQualitySensorLedTimeList[setLedTimeData.serialNum] = setLedTimeData; + sensor.AirQualitySensorLedTimeList[setLedTimeData.serialNum] = ledTimeDataTemp; } else { - sensor.AirQualitySensorLedTimeList.Add(setLedTimeData.serialNum, setLedTimeData); + sensor.AirQualitySensorLedTimeList.Add(setLedTimeData.serialNum, ledTimeDataTemp); } Application.RunOnMainThread(() => { @@ -370,6 +407,7 @@ Action okAction = null; for (int i = 0; i < 2; i++) { + int curIndex = i; var timeFrameLayout = new FrameLayout { Width = Application.GetRealWidth(867), @@ -398,6 +436,7 @@ Height = Application.GetRealHeight(58), X = Application.GetRealWidth(429), Y = Application.GetRealHeight(32), + Tag = curIndex, TextAlignment = TextAlignment.CenterRight, TextID = MyInternationalizationString.LEDSetTime, TextColor = ZigbeeColor.Current.XMGray3, @@ -413,12 +452,12 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, }; timeFrameLayout.AddChidren(line2); - int curIndex = i; + if (i == 1) { timeFrameLayout.Y = Application.GetRealHeight(331); timeLeftText.TextID = MyInternationalizationString.endtime; - if (curLedTimeData.endHour != 0) + if (curLedTimeData.endHour != -1) { string em = curLedTimeData.endMin.ToString(); if (curLedTimeData.endMin < 10) @@ -430,7 +469,7 @@ } else { - if (curLedTimeData.startHour != 0) + if (curLedTimeData.startHour != -1) { string sm = curLedTimeData.startMin.ToString(); if (curLedTimeData.startMin < 10) @@ -462,7 +501,7 @@ this.bottomRadiusFrameLayout.Y = Application.GetRealHeight(930 + 127); this.bottomRadiusFrameLayout.RemoveAll(); this.BottomRadiusFrameLayout(this); - + curOperateIndex = curIndex; var mUIPickerView = new UIPickerView() { X = Application.GetRealWidth(0), @@ -494,6 +533,13 @@ { cur1 = 1; } + else + { + if (curLedTimeData.startHour ==0) + { + cur1 = 1; + } + } if (curLedTimeData.startHour != 0) { cur2 = curLedTimeData.startHour - 1; @@ -501,6 +547,10 @@ { cur2 = curLedTimeData.startHour - 13; } + } + else + { + cur2 = 11; } cur3 = curLedTimeData.startMin; @@ -511,6 +561,13 @@ { cur1 = 1; } + else + { + if (curLedTimeData.endHour == 0) + { + cur1 = 1; + } + } if (curLedTimeData.endHour != 0) { cur2 = curLedTimeData.endHour - 1; @@ -518,6 +575,10 @@ { cur2 = curLedTimeData.endHour - 13; } + } + else + { + cur2 = 11; } cur3 = curLedTimeData.endMin; @@ -563,15 +624,61 @@ }; btnFinish.MouseUpEventHandler += (sender1, e1) => { - if (setLedTimeData.endHour != 0) + if (curOperateIndex == 0) { - if (curIndex == 0) + if (setLedTimeData.startHour == -1) + { + setLedTimeData.startHour = 1; + } + if (setLedTimeData.startHour == 24) + { + setLedTimeData.startHour = 0; + } + + string sm = setLedTimeData.startMin.ToString(); + if (setLedTimeData.startMin < 10) + { + sm = "0" + setLedTimeData.startMin; + } + + if (int.Parse(timeRightText.Tag.ToString()) == curOperateIndex) + { + timeRightText.Text = setLedTimeData.startHour + ":" + sm; + } + } + else + { + if (setLedTimeData.endHour == -1) + { + setLedTimeData.endHour = 1; + } + if (setLedTimeData.endHour == 24) + { + setLedTimeData.endHour = 0; + } + + string em = setLedTimeData.endMin.ToString(); + if (setLedTimeData.endMin < 10) + { + em = "0" + setLedTimeData.endMin; + } + if (int.Parse(timeRightText.Tag.ToString()) == curOperateIndex) + { + timeRightText.Text = setLedTimeData.endHour + ":" + em; + } + } + + if (setLedTimeData.endHour != -1) + { + //棣栨杈撳叆 聽聽聽聽 + if (curOperateIndex == 0) { if (!CheckValidTime(setLedTimeData.startHour, setLedTimeData.startMin, setLedTimeData.endHour, setLedTimeData.endMin)) { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.LedBindTip1), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); return; } + this.shadowRadiusFrameLayout.RemoveFromParent(); } else { @@ -580,36 +687,13 @@ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.LedBindTip2), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); return; } + this.shadowRadiusFrameLayout.RemoveFromParent(); } - } - - if (curIndex == 0) - { - if (setLedTimeData.startHour == 0) - { - setLedTimeData.startHour = 1; - } - string sm = setLedTimeData.startMin.ToString(); - if (setLedTimeData.startMin < 10) - { - sm = "0" + setLedTimeData.startMin; - } - timeRightText.Text = setLedTimeData.startHour + ":" + sm; } else { - if (setLedTimeData.endHour == 0) - { - setLedTimeData.endHour = 1; - } - string em = setLedTimeData.endMin.ToString(); - if (setLedTimeData.endMin < 10) - { - em = "0" + setLedTimeData.endMin; - } - timeRightText.Text = setLedTimeData.endHour + ":" + em; + this.shadowRadiusFrameLayout.RemoveFromParent(); } - this.shadowRadiusFrameLayout.RemoveFromParent(); }; this.shadowRadiusFrameLayout.MouseUpEventHandler += (sender1, e1) => { @@ -623,16 +707,51 @@ /// </summary> /// <returns></returns> private bool CheckValidTime(int st, int sm, int et, int em) - { + { //寮�濮嬫椂闂� - string nowValue1 = st.ToString() + sm.ToString().PadLeft(2, '0'); + string nowValue1 = ""; + nowValue1 = st.ToString().PadLeft(2, '0') + sm.ToString().PadLeft(2, '0'); //缁撴潫鏃堕棿 - string nowValue2 = et.ToString() + em.ToString().PadLeft(2, '0'); + string nowValue2 = ""; + nowValue2 = et.ToString().PadLeft(2, '0') + em.ToString().PadLeft(2, '0'); if (nowValue1.CompareTo(nowValue2) == 1) { return false; } return true; } + + public class TimeData + { + /// <summary> + /// 搴忓彿(姝e父搴忓彿0锝�4锛屽叡5涓級 + /// </summary> + public int serialNum = -1; + /// <summary> + /// 浣胯兘浣� + /// <para>0-鏃犳晥 1--鏈夋晥</para> + /// </summary> + public int enable = 0; + /// <summary> + /// 璧峰鏃� + /// </summary> + public int startHour = -1; + /// <summary> + /// 璧峰鍒� + /// </summary> + public int startMin; + /// <summary> + /// 缁撴潫鏃� + /// </summary> + public int endHour = -1; + /// <summary> + /// 缁撴潫鍒� + /// </summary> + public int endMin; + /// <summary> + /// 澶囨敞 + /// </summary> + public string remark; + } } } -- Gitblit v1.8.0