| | |
| | | { |
| | | 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; |
| | | } |
| | | |
| | |
| | | /// <summary> |
| | | /// 灯设置灯数据 |
| | | /// </summary> |
| | | TemperatureSensor.LedTimeData setLedTimeData = new TemperatureSensor.LedTimeData(); |
| | | TimeData setLedTimeData = new TimeData(); |
| | | /// <summary> |
| | | /// 当前存在的灯数据 |
| | | /// </summary> |
| | |
| | | /// </summary> |
| | | EditText nameLed; |
| | | public Action refreshAction; |
| | | /// <summary> |
| | | /// 当前操作索引 |
| | | /// </summary> |
| | | private int curOperateIndex = 0; |
| | | #endregion |
| | | |
| | | /// <summary> |
| | |
| | | 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 |
| | | |
| | |
| | | { |
| | | try |
| | | { |
| | | if (setLedTimeData.startHour == 0) |
| | | if (setLedTimeData.startHour == -1) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | |
| | | }); |
| | | return; |
| | | } |
| | | if (setLedTimeData.endHour == 0) |
| | | if (setLedTimeData.endHour == -1) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | |
| | | }); |
| | | 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(""); |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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(() => |
| | | { |
| | |
| | | Action okAction = null; |
| | | for (int i = 0; i < 2; i++) |
| | | { |
| | | int curIndex = i; |
| | | var timeFrameLayout = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(867), |
| | |
| | | Height = Application.GetRealHeight(58), |
| | | X = Application.GetRealWidth(429), |
| | | Y = Application.GetRealHeight(32), |
| | | Tag = curIndex, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextID = MyInternationalizationString.LEDSetTime, |
| | | TextColor = ZigbeeColor.Current.XMGray3, |
| | |
| | | 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) |
| | |
| | | } |
| | | else |
| | | { |
| | | if (curLedTimeData.startHour != 0) |
| | | if (curLedTimeData.startHour != -1) |
| | | { |
| | | string sm = curLedTimeData.startMin.ToString(); |
| | | if (curLedTimeData.startMin < 10) |
| | |
| | | this.bottomRadiusFrameLayout.Y = Application.GetRealHeight(930 + 127); |
| | | this.bottomRadiusFrameLayout.RemoveAll(); |
| | | this.BottomRadiusFrameLayout(this); |
| | | |
| | | curOperateIndex = curIndex; |
| | | var mUIPickerView = new UIPickerView() |
| | | { |
| | | X = Application.GetRealWidth(0), |
| | |
| | | { |
| | | cur1 = 1; |
| | | } |
| | | else |
| | | { |
| | | if (curLedTimeData.startHour ==0) |
| | | { |
| | | cur1 = 1; |
| | | } |
| | | } |
| | | if (curLedTimeData.startHour != 0) |
| | | { |
| | | cur2 = curLedTimeData.startHour - 1; |
| | |
| | | { |
| | | cur2 = curLedTimeData.startHour - 13; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | cur2 = 11; |
| | | } |
| | | |
| | | cur3 = curLedTimeData.startMin; |
| | |
| | | { |
| | | cur1 = 1; |
| | | } |
| | | else |
| | | { |
| | | if (curLedTimeData.endHour == 0) |
| | | { |
| | | cur1 = 1; |
| | | } |
| | | } |
| | | if (curLedTimeData.endHour != 0) |
| | | { |
| | | cur2 = curLedTimeData.endHour - 1; |
| | |
| | | { |
| | | cur2 = curLedTimeData.endHour - 13; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | cur2 = 11; |
| | | } |
| | | |
| | | cur3 = curLedTimeData.endMin; |
| | |
| | | }; |
| | | 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 |
| | | { |
| | |
| | | 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) => |
| | | { |
| | |
| | | /// </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> |
| | | /// 序号(正常序号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; |
| | | } |
| | | } |
| | | } |