From 4f0ab0ad21ce450b7856d50f98322a7899361386 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:30:01 +0800
Subject: [PATCH] 不要下载这个备份
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs | 1255 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 776 insertions(+), 479 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
index 38ceff3..5c95989 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
@@ -7,6 +7,7 @@
{
public class TimeSettignPage : DoorLockCommonLayout, ZigBee.Common.IStatus
{
+ #region 涓婃姤鏁版嵁澶勭悊
/// <summary>
/// 澶勭悊鍙樺寲浜嬩欢
/// </summary>
@@ -26,7 +27,7 @@
var dataReport = tempDevice.DeviceStatusReport.AttriBute[0];
if (tempDevice.DeviceStatusReport.CluterID == 10 && dataReport.AttributeId == 0)
{
- CurentDoorLockTime = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocalTime(dataReport.AttriButeData);
+ CurentDoorLockTime = DoorLockCommonInfo.GetLocalTime(dataReport.AttriButeData);
Application.RunOnMainThread(() =>
{
waitGetDoorLockTime = DateTime.MaxValue;
@@ -47,7 +48,9 @@
}
}
}
+ #endregion
+ #region 鏋勯�犲嚱鏁�
/// <summary>
/// 鏋勯�犲嚱鏁�
/// </summary>
@@ -57,35 +60,69 @@
this.doorLock = doorLock;
setTimeType = timeType;
BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
+ //璇婚棬閿佹椂鍖烘椂闂�
+ DoorLockCommonInfo.GetDoorLockZoneTime();
ZigBee.Device.ZbGateway.StatusList.Add(this);
}
+ #endregion
- #region 鈼� 鍙橀噺鐢虫槑__________________________
+ #region UI鍐呭
+ #region 鍙橀噺鐢虫槑
+ /// <summary>
+ /// 褰撳墠闂ㄩ攣
+ /// </summary>
ZigBee.Device.DoorLock doorLock;
+ /// <summary>
+ /// 璁剧疆鏃堕棿绫诲瀷
+ /// </summary>
string setTimeType = "";
+ /// <summary>
+ /// 褰撳墠闂ㄩ攣鏃堕棿
+ /// </summary>
DateTime CurentDoorLockTime;
+ /// <summary>
+ /// 鏄剧ず鏃ユ湡鐨勬枃鏈�
+ /// </summary>
Button textDisplayDate;
+ /// <summary>
+ /// 鏄剧ず鏃堕棿鐨勬枃鏈�
+ /// </summary>
Button textDisplayTime;
+ /// <summary>
+ /// 鏈湴鍙橀噺鈥滃勾鈥�
+ /// </summary>
int curYear = 0;
+ /// <summary>
+ /// 鏈湴鍙橀噺鈥滄湀鈥�
+ /// </summary>
int curMonth = 0;
+ /// <summary>
+ /// 鏈湴鍙橀噺鈥滄棩鈥�
+ /// </summary>
int curDay = 0;
+ /// <summary>
+ /// 鏈湴鍙橀噺鈥滄椂鈥�
+ /// </summary>
int curHour = 0;
+ /// <summary>
+ /// 鏈湴鍙橀噺鈥滃垎鈥�
+ /// </summary>
int curMin = 0;
+ /// <summary>
+ /// 鏈湴鍙橀噺鈥滅鈥�
+ /// </summary>
int curSec = 0;
+ /// <summary>
+ /// 璁剧疆鏃堕棿鐨凙ction
+ /// </summary>
public Action timeSetAction;
+ /// <summary>
+ /// 绛夊緟鑾峰彇闂ㄩ攣鏃剁殑绛夊緟鏃堕棿
+ /// </summary>
DateTime waitGetDoorLockTime = DateTime.MaxValue;
#endregion
/// <summary>
- /// 閲嶅啓绉婚櫎鏂规硶
- /// </summary>
- public override void RemoveFromParent()
- {
- ZbGateway.StatusList.Remove(this);
- base.RemoveFromParent();
- }
-
- /// <summary>
/// UI鏄剧ず
/// </summary>
public void Show()
@@ -113,48 +150,48 @@
MidFrameLayoutContent();
}
+ /// <summary>
+ /// 涓儴甯冨眬
+ /// </summary>
public void MidFrameLayoutContent()
{
if (setTimeType == "DoorLockTime")
{
- CommonPage.Loading.Start("");
- // 鍙湁閲嶆柊鍚姩鏃朵細鎱紝鐒跺悗鍏朵粬鏃跺埢閮芥槸鏈夊�肩殑
- new System.Threading.Thread(() =>
- {
- while (this.Parent != null)
- {
- if (DateTime.Now > waitGetDoorLockTime)
- {
- Application.RunOnMainThread(() =>
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
- CommonPage.Loading.Hide();
- });
- }
- //璇婚棬閿佹椂闂�
- //绛夊緟10绉掞紝娌℃湁鏀跺埌鎻愮ず瓒呮椂閫�鍑�
- waitGetDoorLockTime = DateTime.Now.AddSeconds(+5);
- doorLock.ReadAttri(ZigBee.Device.Cluster_ID.DoorLock, ZigBee.Device.AttriButeId.DoorLock);
- System.Threading.Thread.Sleep(5 * 1000);
- }
- })
- { IsBackground = true }.Start();
+ ReadDoorlockTime();
}
- var MidTopFrameLayout = new FrameLayout()
+ var zoneFrameLayout = new FrameLayout()
{
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
};
- this.midFrameLayout.AddChidren(MidTopFrameLayout);
+ this.midFrameLayout.AddChidren(zoneFrameLayout);
- var dtNow = DateTime.Now;
+ if (setTimeType == "DoorLockTime")
+ {
+ zoneFrameLayout.Height = Application.GetRealHeight(150) + 1;
+ AddDoorLocksTimeRow(zoneFrameLayout);
+ }
+ else
+ {
+ zoneFrameLayout.Height = Application.GetRealHeight(0);
+ }
+
+ var midTopFrameLayout = new FrameLayout()
+ {
+ Y = zoneFrameLayout.Bottom,
+ };
+ this.midFrameLayout.AddChidren(midTopFrameLayout);
+
+ var dtNow = DoorLockCommonInfo.DoorlockZoneTime;// DateTime.Now;
for (int i = 0; i < 2; i++)
{
+ #region MidTopFrameLayout UI
var rowLayout = new FrameLayout()
{
Height = Application.GetRealHeight(127 + 23),
BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
};
- MidTopFrameLayout.AddChidren(rowLayout);
+ midTopFrameLayout.AddChidren(rowLayout);
var btnDateTime = new Button()
{
@@ -163,7 +200,7 @@
X = Application.GetRealWidth(58),
TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
TextAlignment = TextAlignment.CenterLeft,
- TextSize = 14,
+ TextSize = 12,
};
rowLayout.AddChidren(btnDateTime);
@@ -199,8 +236,10 @@
X = Application.GetRealWidth(58),
BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
};
- MidTopFrameLayout.AddChidren(btnLine);
+ midTopFrameLayout.AddChidren(btnLine);
+ #endregion
+ #region 鏄剧ず澶勭悊
if (i == 0)
{
btnDateTime.Y = textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = Application.GetRealHeight(50);
@@ -210,7 +249,7 @@
{
TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
TextAlignment = TextAlignment.CenterRight,
- TextSize = 14,
+ TextSize = 12,
Text = "_" + Language.StringByID(R.MyInternationalizationString.Year) + "_" + Language.StringByID(R.MyInternationalizationString.Month) + "_" + Language.StringByID(R.MyInternationalizationString.Day),
};
textDisplayDateFrameLayout.AddChidren(textDisplayDate);
@@ -241,7 +280,7 @@
{
TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
TextAlignment = TextAlignment.CenterRight,
- TextSize = 14,
+ TextSize = 12,
Text = "00:00",
};
textDisplayDateFrameLayout.AddChidren(textDisplayTime);
@@ -278,457 +317,46 @@
}
btnLine.Visible = false;
}
+ #endregion
+
+ #region 浜嬩欢澶勭悊
int curIndex = i;
EventHandler<MouseEventArgs> hander = (sender, e) =>
{
- this.midFrameLayout.AddChidren(this.shadowRadiusFrameLayout);
- this.bottomRadiusFrameLayout.RemoveAll();
- this.BottomRadiusFrameLayout(this);
- var mUIPickerView = new UIPickerView()
- {
- X = Application.GetRealWidth(0),
- };
- this.bottomRadiusFrameLayout.AddChidren(mUIPickerView);
-
- var btnTextM = new Button()
- {
- Width = Application.GetRealWidth(0),
- Height = Application.GetRealHeight(58),
- Y = Application.GetRealHeight(372),
- Text= "鏈�",
- TextSize=14,
- TextColor=ZigbeeColor.Current.XMBlack,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnTextM);
- var btnTextD = new Button()
- {
- Width = Application.GetRealWidth(0),
- Height = Application.GetRealHeight(58),
- Y = Application.GetRealHeight(372),
- Text = "鏃�",
- TextColor = ZigbeeColor.Current.XMBlack,
- TextSize = 14,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnTextD);
-
- var btnLine1 = new FrameLayout()
- {
- Width = Application.GetRealWidth(0),
- Height = 2,
- Y = Application.GetRealHeight(161 + 177),
- BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnLine1);
-
- var btnLine2 = new FrameLayout()
- {
- Width = Application.GetRealWidth(0),
- Height = btnLine1.Height,
- X = Application.GetRealWidth(246+588),
- Y = btnLine1.Y,
- BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnLine2);
-
- var btnLine3 = new FrameLayout()
- {
- Width = Application.GetRealWidth(0),
- Height = 2,
- Y = Application.GetRealHeight(161 + 269),
- BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnLine3);
-
- var btnLine4 = new FrameLayout()
- {
- Width = Application.GetRealWidth(0),
- Height = btnLine3.Height,
- X = btnLine2.X,
- Y = btnLine3.Y,
- BackgroundColor =Shared.Common.ZigbeeColor.Current.XMRowLine,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnLine4);
-
- if (curIndex == 0)
- {
- //鏃ユ湡
- if (setTimeType != "DoorLockTime")
- {
- this.btnBottomTitle.TextID = R.MyInternationalizationString.Date;
- }
- else
- {
- this.btnBottomTitle.TextID = R.MyInternationalizationString.CurrentDate;
- }
-
- mUIPickerView.Y = Application.GetRealWidth(110);
- var mList1 = new List<string>();
- var mList2 = new List<string>();
- var mList3 = new List<string>();
- var oldMonth = dtNow.Month;
-
- int year = dtNow.Year + 1;
- int days = DateTime.DaysInMonth(dtNow.Year, dtNow.Month);
-
- for (int y = dtNow.Year - 10; y < dtNow.Year + 1; y++)
- {
- mList1.Add(y.ToString());
- }
- for (int m = 1; m < 13; m++)
- {
- mList2.Add(m.ToString());
- if (Language.CurrentLanguage == "Chinese")
- {
- btnTextM.Width = Application.GetRealWidth(100);
- if (setTimeType != "DoorLockTime")
- {
- btnTextM.X = Application.GetRealWidth(418);
- }
- else
- {
- btnTextM.X = Application.GetRealWidth(566);
- }
-
- }
- else
- {
- btnTextM.Width = Application.GetRealWidth(0);
- }
-
- }
- for (int d = 1; d < days + 1; d++)
- {
- mList3.Add(d.ToString());
- if (Language.CurrentLanguage == "Chinese")
- {
- btnTextD.Width = Application.GetRealWidth(100);
- if (setTimeType != "DoorLockTime")
- {
- btnTextD.X = Application.GetRealWidth(710);
- }
- else
- {
- btnTextD.X = Application.GetRealWidth(922);
- }
- }
- else
- {
- btnTextD.Width = Application.GetRealWidth(0);
- }
- }
-
- if (setTimeType != "DoorLockTime")
- {
- mUIPickerView.setNPicker(mList2, mList3, null);
- mUIPickerView.Width = Application.GetRealWidth(588);
- mUIPickerView.X = Application.GetRealWidth(246);
- btnLine1.Width=btnLine2.Width= btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250);
- btnLine1.Y = Application.GetRealHeight(161 + 177+15);
- btnLine2.Y = Application.GetRealHeight(161 + 177 + 15);
- btnLine3.Y = Application.GetRealHeight(161 + 269+15);
- btnLine4.Y = Application.GetRealHeight(161 + 269 + 15);
- mUIPickerView.setCurrentItems(dtNow.Month - 1, dtNow.Day - 1, 0);
- curMonth = dtNow.Month;
- curDay = dtNow.Day;
-
- if (setTimeType == "ValidTime")
- {
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = dtNow.Year;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = curMonth;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = curDay;
- }
- else
- {
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = dtNow.Year;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = curMonth;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = curDay;
- }
- var btnOk = new Button
- {
- X = Application.GetRealWidth(919),
- Y = Application.GetRealHeight(40),
- Height = Application.GetRealHeight(58),
- Width = Application.GetRealWidth(101),
- Text = Language.StringByID(R.MyInternationalizationString.Complete),
- TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
- TextSize = 14,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnOk);
- btnOk.MouseUpEventHandler += (sender1, e1) =>
- {
- if (setTimeType == "ValidTime")
- {
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = dtNow.Year;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = curMonth;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = curDay;
- }
- else
- {
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = dtNow.Year;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = curMonth;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = curDay;
- }
- if (timeSetAction != null)
- {
- timeSetAction();
- }
- this.shadowRadiusFrameLayout.RemoveFromParent();
- this.bottomRadiusFrameLayout.RemoveFromParent();
- MidFrameLayoutContent();
- };
- }
- else
- {
- mUIPickerView.setNPicker(mList1, mList2, mList3);
- mUIPickerView.Width = Application.GetRealWidth(1080);
- mUIPickerView.X = Application.GetRealWidth(0);
- btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(0);
- mUIPickerView.setCurrentItems(dtNow.Year, dtNow.Month - 1, dtNow.Day - 1);
- curYear = dtNow.Year;
- curMonth = dtNow.Month;
- curDay = dtNow.Day;
- if (CurentDoorLockTime != null)
- {
- curHour = CurentDoorLockTime.Hour;
- curMin = CurentDoorLockTime.Minute;
- curSec = CurentDoorLockTime.Second;
- }
- else
- {
- curHour = dtNow.Hour;
- curMin = dtNow.Minute;
- curSec = dtNow.Second;
- }
- }
-
- Action dAction = () =>
- {
- if (curMonth != oldMonth)
- {
- oldMonth = curMonth;
- days = DateTime.DaysInMonth(curYear, curMonth);
- mList3.Clear();
-
- for (int d = 1; d < days + 1; d++)
- {
- mList3.Add(d.ToString());
- if (Language.CurrentLanguage == "Chinese")
- {
- btnTextD.Width = Application.GetRealWidth(100);
- if (setTimeType != "DoorLockTime")
- {
- btnTextD.X = Application.GetRealWidth(710);
- }
- else
- {
- btnTextD.X = Application.GetRealWidth(922);
- }
- }
- else
- {
- btnTextD.Width = Application.GetRealWidth(0);
- }
- }
- if (setTimeType != "DoorLockTime")
- {
- mUIPickerView.setNPicker(mList2, mList3, null);
- mUIPickerView.Width = Application.GetRealWidth(588);
- mUIPickerView.X = Application.GetRealWidth(246);
- btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250);
- mUIPickerView.setCurrentItems(curMonth - 1, curDay - 1, 0);
- }
- else
- {
- mUIPickerView.setNPicker(mList1, mList2, mList3);
- mUIPickerView.Width = Application.GetRealWidth(1080);
- mUIPickerView.X = Application.GetRealWidth(0);
- btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(0);
- mUIPickerView.setCurrentItems(curYear, curMonth - 1, curDay - 1);
- }
- }
- };
- mUIPickerView.OnSelectChangeEvent += (y, m, d) =>
- {
- if (setTimeType != "DoorLockTime")
- {
- curYear = dtNow.Year;
- curMonth = y + 1;
- curDay = m + 1;
- }
- else
- {
- curYear = y + 2009;
- curMonth = m + 1;
- curDay = d + 1;
- }
- dAction();
- };
- }
- if (curIndex == 1)
- {
- //鏃堕棿
- if (setTimeType != "DoorLockTime")
- {
- this.btnBottomTitle.TextID = R.MyInternationalizationString.Time;
- }
- else
- {
- this.btnBottomTitle.TextID = R.MyInternationalizationString.CurrentTime;
- }
-
- mUIPickerView.Y = Application.GetRealWidth(95);
- var mList1 = new List<string>();
- var mList2 = new List<string>();
- for (int h = 0; h < 24; h++)
- {
- if (h < 10)
- {
- mList1.Add("0" + h.ToString());
- }
- else
- {
- mList1.Add(h.ToString());
- }
- }
- for (int m = 0; m < 60; m++)
- {
- if (m < 10)
- {
- mList2.Add("0" + m.ToString());
- }
- else
- {
- mList2.Add(m.ToString());
- }
- }
- mUIPickerView.setNPicker(mList1, mList2, null);
- mUIPickerView.Width = Application.GetRealWidth(588);
- mUIPickerView.X = Application.GetRealWidth(246);
- btnLine1.Width = btnLine2.Width = btnLine3.Width = btnLine4.Width = Application.GetRealWidth(250);
- mUIPickerView.setCurrentItems(dtNow.Hour, dtNow.Minute, 0);
- if (CurentDoorLockTime != null)
- {
- curYear = CurentDoorLockTime.Year;
- curMonth = CurentDoorLockTime.Month;
- curDay = CurentDoorLockTime.Day;
- }
- else
- {
- curYear = dtNow.Year;
- curMonth = dtNow.Month;
- curDay = dtNow.Day;
- }
- curHour = dtNow.Hour;
- curMin = dtNow.Minute;
- curSec = dtNow.Second;
- mUIPickerView.OnSelectChangeEvent += (h, m, s) =>
- {
- curHour = h;
- curMin = m;
- curSec = dtNow.Second;
- };
-
- if (setTimeType == "ValidTime")
- {
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = curHour;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = curMin;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = curSec;
- }
- else
- {
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = curHour;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = curMin;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = curSec;
- }
-
- if (setTimeType != "DoorLockTime")
- {
- var btnOk = new Button
- {
- X = Application.GetRealWidth(919),
- Y = Application.GetRealHeight(40),
- Height = Application.GetRealHeight(58),
- Width = Application.GetRealWidth(101),
- Text = Language.StringByID(R.MyInternationalizationString.Complete),
- TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
- TextSize = 14,
- };
- this.bottomRadiusFrameLayout.AddChidren(btnOk);
- btnOk.MouseUpEventHandler += (sender1, e1) =>
- {
- if (setTimeType == "ValidTime")
- {
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = curHour;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = curMin;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = curSec;
- }
- else
- {
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = curHour;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = curMin;
- Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = curSec;
- }
- if (timeSetAction != null)
- {
- timeSetAction();
- }
- this.shadowRadiusFrameLayout.RemoveFromParent();
- this.bottomRadiusFrameLayout.RemoveFromParent();
- MidFrameLayoutContent();
- };
- }
- }
+ ClickHandle(curIndex, dtNow);
};
rowLayout.MouseDownEventHandler += hander;
btnDateTime.MouseDownEventHandler += hander;
textDisplayDateFrameLayout.MouseDownEventHandler += hander;
btnNextFrameLayout.MouseDownEventHandler += hander;
btnNext.MouseDownEventHandler += hander;
+
+ if (curIndex == 0)
+ {
+ textDisplayDate.MouseDownEventHandler += hander;
+ }
+ else
+ {
+ textDisplayTime.MouseDownEventHandler += hander;
+ }
+ #endregion
}
btnCancel.MouseUpEventHandler += (sender1, e1) =>
{
this.shadowRadiusFrameLayout.RemoveFromParent();
};
- btnFinish.MouseUpEventHandler += async (sender1, e1) =>
+ btnFinish.MouseUpEventHandler += (sender1, e1) =>
{
if (setTimeType == "DoorLockTime")
{
- var curDateTime = new DateTime(curYear, curMonth, curDay, curHour, curMin, curSec);
- var setTimestamp = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(curDateTime);
- try
- {
- CommonPage.Loading.Start("");
- var rectifyResult = await doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp));
- if (rectifyResult != null && rectifyResult.setWritableValueResponData != null)
- {
- if (rectifyResult.setWritableValueResponData.Status == 0)
- {
- this.shadowRadiusFrameLayout.RemoveFromParent();
- }
- else
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
- }
- }
- else
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
- }
- }
- catch { }
- finally
- {
- System.Threading.Thread.Sleep(3000);
- CommonPage.Loading.Hide();
- }
+ DoorLockTimeFinishHandle();
}
};
this.shadowRadiusFrameLayout.MouseUpEventHandler += (sender1, e1) =>
{
this.shadowRadiusFrameLayout.RemoveFromParent();
};
-
if (setTimeType == "DoorLockTime")
{
if (CurentDoorLockTime != null && CurentDoorLockTime.Year != 1)
@@ -738,30 +366,699 @@
}
}
}
+ #endregion
- #region 鈼� 鎺ュ彛瀹炵幇__________________________
+ #region 鏃跺尯
/// <summary>
- /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
+ /// 娣诲姞銆愰棬閿佹椂闂淬�戣锛堥棬閿佷笓鐢級
/// </summary>
- /// <returns>The changed.</returns>
- /// <param name="common">Common.</param>
- public void Changed(CommonDevice common)
+ /// <param name="zoneFrameLayout"></param>
+ private void AddDoorLocksTimeRow(FrameLayout zoneFrameLayout)
{
+ //闂ㄩ攣鏃堕棿
+ var rowLayout = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(150),
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+ };
+ zoneFrameLayout.AddChidren(rowLayout);
+
+ //褰撳墠鏃跺尯
+ var btnCurZone = new Button()
+ {
+ Width = Application.GetRealWidth(560),
+ Height = Application.GetRealHeight(58),
+ X = Application.GetRealWidth(58),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = 12,
+ Y = Application.GetRealHeight(46),
+ Text = Language.StringByID(R.MyInternationalizationString.CurZone),
+ };
+ rowLayout.AddChidren(btnCurZone);
+
+ //鍝釜鏃跺尯
+ var textZone = new Button()
+ {
+ Width = Application.GetRealWidth(333),
+ Height = Application.GetRealHeight(58),
+ X = Application.GetRealWidth(689),
+ Y = Application.GetRealHeight(46),
+ TextAlignment = TextAlignment.CenterRight,
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray4,
+ TextSize = 14,
+ };
+
+ rowLayout.AddChidren(textZone);
+ textZone.Text = zoneData();
+ textZone.MouseDownEventHandler += (sender, e) =>
+ {
+ //1銆佸叆缃戝悗鍏堣幏鍙栭棬閿佸湪缃戝叧涓殑鏃跺尯鏃堕棿
+ var curDateTime = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockZoneTime();
+ //2銆佸皢鏃堕棿璁剧疆鍒扮綉鍏充腑
+ var dateTime = new DateTime(curDateTime.Year, curDateTime.Month, curDateTime.Day, curDateTime.Hour, curDateTime.Minute, curDateTime.Second);
+ var setTimestamp = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(dateTime);
+ doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp));
+ };
+
+ var btnLine = new FrameLayout()
+ {
+ Width = Application.GetRealWidth(965),
+ Height = 1,
+ X = Application.GetRealWidth(58),
+ Y = Application.GetRealHeight(150),
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
+ };
+ zoneFrameLayout.AddChidren(btnLine);
+ }
+
+ /// <summary>
+ /// 鏃跺尯鏁版嵁
+ /// </summary>
+ /// <returns></returns>
+ private string zoneData()
+ {
+ string zoneText = "";
+ int num = 0;
+ var gwZone = DoorLockCommonInfo.CaculateTimeZone(Common.Config.Instance.Home.Longitude);
+ if (int.Parse(gwZone) != 0)
+ {
+ num = int.Parse(gwZone.Substring(1));
+ }
+ if (gwZone.Contains('+'))
+ {
+ if (num == 0)
+ {
+ zoneText = Language.StringByID(R.MyInternationalizationString.CurZoneText0);
+ }
+ else
+ {
+ zoneText = EastZoneList(num - 1);
+ }
+ }
+ else if (gwZone.Contains('-'))
+ {
+ zoneText = WestZoneList(num - 1);
+ }
+ else
+ {
+ zoneText = Language.StringByID(R.MyInternationalizationString.CurZoneText0);
+ }
+ return zoneText;
+ }
+
+ /// <summary>
+ /// 杞崲涓滃尯
+ /// </summary>
+ /// <param name="x"></param>
+ /// <returns></returns>
+ private string EastZoneList(int x)
+ {
+ var numString = new string[]
+ {
+ Language.StringByID(R.MyInternationalizationString.CurZoneText1),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText2),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText3),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText4),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText5),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText6),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText7),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText8),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText9),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText10),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText11),
+ Language.StringByID(R.MyInternationalizationString.CurZoneText12)
+ };
+ var strChnNamesList = new List<string>(numString);
+ return strChnNamesList[x];
+ }
+
+ /// <summary>
+ /// 杞崲瑗垮尯
+ /// </summary>
+ /// <param name="x"></param>
+ /// <returns></returns>
+ private string WestZoneList(int x)
+ {
+ var numString = new string[]
+ {
+ Language.StringByID(R.MyInternationalizationString.WestZoneText1),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText2),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText3),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText4),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText5),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText6),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText7),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText8),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText9),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText10),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText11),
+ Language.StringByID(R.MyInternationalizationString.WestZoneText12)
+ };
+ var strChnNamesList = new List<string>(numString);
+ return strChnNamesList[x];
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏃跺尯
+ /// <para>currentLon:"+"涓轰笢鍖猴紝鈥�-鈥濅负瑗垮尯</para>
+ /// </summary>
+ /// <param name="currentLon"></param>
+ /// <returns></returns>
+ public static String CaculateTimeZone(double currentLon)
+ {
+ int timeZone;
+ int shangValue = (int)(currentLon / 15);
+ double yushuValue = Math.Abs(currentLon % 15);
+ if (yushuValue <= 7.5)
+ {
+ timeZone = shangValue;
+ }
+ else
+ {
+ timeZone = shangValue + (currentLon > 0 ? 1 : -1);
+ }
+ return timeZone >= 0 ? "+" + Math.Abs(timeZone) : "-" + Math.Abs(timeZone);
+ }
+
+ /// <summary>
+ /// 鑾峰彇鎵�鍦ㄦ椂鍖虹殑鏃堕棿
+ /// </summary>
+ /// <param name="unix"></param>
+ /// <returns></returns>
+ public static int GetLocalTime(int unix)
+ {
+ var gwZone = CaculateTimeZone(Common.Config.Instance.Home.Longitude);
+ var data = unix + 8 * 3600;
+
+ return data;
+ }
+
+ #endregion
+
+ #region 闂ㄩ攣鏃堕棿
+ /// <summary>
+ /// 璇诲彇闂ㄩ攣鏃堕棿
+ /// </summary>
+ private void ReadDoorlockTime()
+ {
+ CommonPage.Loading.Start("");
+ // 鍙湁閲嶆柊鍚姩鏃朵細鎱紝鐒跺悗鍏朵粬鏃跺埢閮芥槸鏈夊�肩殑
+ new System.Threading.Thread(() =>
+ {
+ while (this.Parent != null)
+ {
+ if (DateTime.Now > waitGetDoorLockTime)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
+ CommonPage.Loading.Hide();
+ });
+ }
+ //璇婚棬閿佹椂闂�
+ //绛夊緟10绉掞紝娌℃湁鏀跺埌鎻愮ず瓒呮椂閫�鍑�
+ waitGetDoorLockTime = DateTime.Now.AddSeconds(+5);
+ doorLock.ReadAttri(ZigBee.Device.Cluster_ID.DoorLock, ZigBee.Device.AttriButeId.DoorLock);
+ System.Threading.Thread.Sleep(5 * 1000);
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// 闂ㄩ攣鏃堕棿纭鎸夐挳澶勭悊
+ /// </summary>
+ private void DoorLockTimeFinishHandle()
+ {
+ System.Threading.Tasks.Task.Run(async () =>
+ {
+ try
+ {
+ var curDateTime = new DateTime(curYear, curMonth, curDay, curHour, curMin, curSec);
+ var setTimestamp = DoorLockCommonInfo.GetUnixTimeStamp(curDateTime);
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Start("");
+ });
+ var rectifyResult = await doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp));
+ if (rectifyResult != null && rectifyResult.setWritableValueResponData != null)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (rectifyResult.setWritableValueResponData.Status == 0)
+ {
+ doorLock.ReadAttri(ZigBee.Device.Cluster_ID.DoorLock, ZigBee.Device.AttriButeId.DoorLock);
+ System.Threading.Thread.Sleep(1000);
+ this.shadowRadiusFrameLayout.RemoveFromParent();
+ }
+ else
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ }
+ });
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+ });
+ }
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); });
+ }
+ });
}
+ #endregion
+
+ #region 鍏叡浜嬩欢澶勭悊
/// <summary>
- /// Changeds the IL ogic status.
+ /// 浜嬩欢澶勭悊
/// </summary>
- /// <param name="logic">Logic.</param>
- public void ChangedILogicStatus(ZigBee.Device.Logic logic)
+ private void ClickHandle(int curIndex, DateTime dtNow)
{
+ this.midFrameLayout.AddChidren(this.shadowRadiusFrameLayout);
+ this.bottomRadiusFrameLayout.RemoveAll();
+ this.BottomRadiusFrameLayout(this);
+ var mUIPickerView = new UIPickerView()
+ {
+ X = Application.GetRealWidth(0),
+ Height = Application.GetRealHeight(440),
+ };
+ this.bottomRadiusFrameLayout.AddChidren(mUIPickerView);
+
+ if (curIndex == 0)
+ {
+ //鏃ユ湡
+ if (setTimeType != "DoorLockTime")
+ {
+ this.btnBottomTitle.TextID = R.MyInternationalizationString.Date;
+ }
+ else
+ {
+ this.btnBottomTitle.TextID = R.MyInternationalizationString.CurrentDate;
+ }
+
+ mUIPickerView.Y = Application.GetRealWidth(245);
+ var mList1 = new List<string>();
+ var mList2 = new List<string>();
+ var mList3 = new List<string>();
+ var oldMonth = dtNow.Month;
+
+ int year = dtNow.Year + 1;
+ int days = DateTime.DaysInMonth(dtNow.Year, dtNow.Month);
+
+ for (int y = dtNow.Year - 9; y < dtNow.Year + 1; y++)
+ {
+ mList1.Add(y.ToString());
+ }
+ for (int m = 1; m < 13; m++)
+ {
+ if (Language.CurrentLanguage == "Chinese")
+ {
+ mList2.Add(m.ToString() + "鏈�");
+ }
+ else
+ {
+ mList2.Add(m.ToString());
+ }
+ }
+ for (int d = 1; d < days + 1; d++)
+ {
+ if (Language.CurrentLanguage == "Chinese")
+ {
+ mList3.Add(d.ToString() + "鏃�");
+ }
+ else
+ {
+ mList3.Add(d.ToString());
+ }
+ }
+
+ if (setTimeType != "DoorLockTime")
+ {
+ mUIPickerView.setNPicker(mList2, mList3, null);
+ mUIPickerView.setCurrentItems(dtNow.Month - 1, dtNow.Day - 1, 0);
+ curMonth = dtNow.Month;
+ curDay = dtNow.Day;
+
+ if (setTimeType == "ValidTime")
+ {
+ DoorLockCommonInfo.ValidDateYear = dtNow.Year;
+ DoorLockCommonInfo.ValidDateMonth = curMonth;
+ DoorLockCommonInfo.ValidDateDay = curDay;
+ }
+ else
+ {
+ DoorLockCommonInfo.InValidDateYear = dtNow.Year;
+ DoorLockCommonInfo.InValidDateMonth = curMonth;
+ DoorLockCommonInfo.InValidDateDay = curDay;
+ }
+ var btnOk = new Button
+ {
+ X = Application.GetRealWidth(919),
+ Y = Application.GetRealHeight(40),
+ Height = Application.GetRealHeight(58),
+ Width = Application.GetRealWidth(101),
+ Text = Language.StringByID(R.MyInternationalizationString.Complete),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
+ TextSize = 14,
+ };
+ this.bottomRadiusFrameLayout.AddChidren(btnOk);
+ btnOk.MouseUpEventHandler += (sender1, e1) =>
+ {
+ if (setTimeType == "ValidTime")
+ {
+ string nowValue1 = DateTime.Now.ToString("yyyyMMdd");
+ string nowValue2 = dtNow.Year.ToString() + curMonth.ToString().PadLeft(2, '0') + curDay.ToString().PadLeft(2, '0');
+ if (nowValue1.CompareTo(nowValue2) == 1)
+ {
+ var mess = Language.StringByID(R.MyInternationalizationString.ValidTimeNoLessThanCurrentTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
+ return;
+ }
+ //妫�鏌ユ椂闂�
+ var flage = this.CheckValidTime(dtNow.Year, curMonth, curDay,
+ DoorLockCommonInfo.ValidDateHour, DoorLockCommonInfo.ValidDateMinute, DoorLockCommonInfo.ValidDateSecond,
+ DoorLockCommonInfo.InValidDateYear, DoorLockCommonInfo.InValidDateMonth, DoorLockCommonInfo.InValidDateDay,
+ DoorLockCommonInfo.InValidDateHour, DoorLockCommonInfo.InValidDateMinute, DoorLockCommonInfo.InValidDateSecond);
+ if (flage == false)
+ {
+ var mess = Language.StringByID(R.MyInternationalizationString.ValidTimeNoMoreThanInValidTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
+ return;
+ }
+ DoorLockCommonInfo.ValidDateYear = dtNow.Year;
+ DoorLockCommonInfo.ValidDateMonth = curMonth;
+ DoorLockCommonInfo.ValidDateDay = curDay;
+ }
+ else
+ {
+ //妫�鏌ユ椂闂�
+ var flage = this.CheckValidTime(DoorLockCommonInfo.ValidDateYear, DoorLockCommonInfo.ValidDateMonth, DoorLockCommonInfo.ValidDateDay,
+ DoorLockCommonInfo.ValidDateHour, DoorLockCommonInfo.ValidDateMinute, DoorLockCommonInfo.ValidDateSecond,
+ dtNow.Year, curMonth, curDay,
+ DoorLockCommonInfo.InValidDateHour, DoorLockCommonInfo.InValidDateMinute, DoorLockCommonInfo.InValidDateSecond);
+ if (flage == false)
+ {
+ var mess = Language.StringByID(R.MyInternationalizationString.InvalidTimeNoLessThanValidTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
+ return;
+ }
+
+ DoorLockCommonInfo.InValidDateYear = dtNow.Year;
+ DoorLockCommonInfo.InValidDateMonth = curMonth;
+ DoorLockCommonInfo.InValidDateDay = curDay;
+ }
+ if (timeSetAction != null)
+ {
+ timeSetAction();
+ }
+ this.shadowRadiusFrameLayout.RemoveFromParent();
+ MidFrameLayoutContent();
+ };
+ }
+ else
+ {
+ mUIPickerView.setNPicker(mList1, mList2, mList3);
+ mUIPickerView.setCurrentItems(9, dtNow.Month - 1, dtNow.Day - 1);
+ curYear = dtNow.Year;
+ curMonth = dtNow.Month;
+ curDay = dtNow.Day;
+ if (CurentDoorLockTime != null)
+ {
+ curHour = CurentDoorLockTime.Hour;
+ curMin = CurentDoorLockTime.Minute;
+ curSec = CurentDoorLockTime.Second;
+ }
+ else
+ {
+ curHour = dtNow.Hour;
+ curMin = dtNow.Minute;
+ curSec = dtNow.Second;
+ }
+ }
+
+ Action dAction = () =>
+ {
+ if (curMonth != oldMonth)
+ {
+ oldMonth = curMonth;
+ days = DateTime.DaysInMonth(curYear, curMonth);
+ mList3.Clear();
+
+ for (int d = 1; d < days + 1; d++)
+ {
+ if (Language.CurrentLanguage == "Chinese")
+ {
+ mList3.Add(d.ToString() + "鏃�");
+ }
+ else
+ {
+ mList3.Add(d.ToString());
+ }
+ }
+
+ if (setTimeType != "DoorLockTime")
+ {
+ mUIPickerView.setNPicker(mList2, mList3, null);
+ mUIPickerView.setCurrentItems(curMonth - 1, curDay - 1, 0);
+ }
+ else
+ {
+ mUIPickerView.setNPicker(mList1, mList2, mList3);
+ mUIPickerView.setCurrentItems(9, curMonth - 1, curDay - 1);
+ }
+ }
+ };
+ mUIPickerView.OnSelectChangeEvent += (y, m, d) =>
+ {
+ if (setTimeType != "DoorLockTime")
+ {
+ curYear = dtNow.Year;
+ curMonth = y + 1;
+ curDay = m + 1;
+ }
+ else
+ {
+ switch (y)
+ {
+ case 0:
+ curYear = dtNow.Year - 9;
+ break;
+ case 1:
+ curYear = dtNow.Year - 8;
+ break;
+ case 2:
+ curYear = dtNow.Year - 7;
+ break;
+ case 3:
+ curYear = dtNow.Year - 6;
+ break;
+ case 4:
+ curYear = dtNow.Year - 5;
+ break;
+ case 5:
+ curYear = dtNow.Year - 4;
+ break;
+ case 6:
+ curYear = dtNow.Year - 3;
+ break;
+ case 7:
+ curYear = dtNow.Year - 2;
+ break;
+ case 8:
+ curYear = dtNow.Year - 1;
+ break;
+ default:
+ curYear = dtNow.Year;
+ break;
+ }
+ curMonth = m + 1;
+ curDay = d + 1;
+ }
+ dAction();
+ };
+ }
+ if (curIndex == 1)
+ {
+ //鏃堕棿
+ if (setTimeType != "DoorLockTime")
+ {
+ this.btnBottomTitle.TextID = R.MyInternationalizationString.Time;
+ }
+ else
+ {
+ this.btnBottomTitle.TextID = R.MyInternationalizationString.CurrentTime;
+ }
+
+ mUIPickerView.Y = Application.GetRealWidth(245);
+ var mList1 = new List<string>();
+ var mList2 = new List<string>();
+ for (int h = 0; h < 24; h++)
+ {
+ if (h < 10)
+ {
+ mList1.Add("0" + h.ToString());
+ }
+ else
+ {
+ mList1.Add(h.ToString());
+ }
+ }
+ for (int m = 0; m < 60; m++)
+ {
+ if (m < 10)
+ {
+ mList2.Add("0" + m.ToString());
+ }
+ else
+ {
+ mList2.Add(m.ToString());
+ }
+ }
+ mUIPickerView.setNPicker(mList1, mList2, null);
+ mUIPickerView.setCurrentItems(dtNow.Hour, dtNow.Minute, 0);
+ if (CurentDoorLockTime != null)
+ {
+ curYear = CurentDoorLockTime.Year;
+ curMonth = CurentDoorLockTime.Month;
+ curDay = CurentDoorLockTime.Day;
+ }
+ else
+ {
+ curYear = dtNow.Year;
+ curMonth = dtNow.Month;
+ curDay = dtNow.Day;
+ }
+ curHour = dtNow.Hour;
+ curMin = dtNow.Minute;
+ curSec = dtNow.Second;
+ mUIPickerView.OnSelectChangeEvent += (h, m, s) =>
+ {
+ curHour = h;
+ curMin = m;
+ curSec = dtNow.Second;
+ };
+
+ if (setTimeType == "ValidTime")
+ {
+ DoorLockCommonInfo.ValidDateHour = curHour;
+ DoorLockCommonInfo.ValidDateMinute = curMin;
+ DoorLockCommonInfo.ValidDateSecond = curSec;
+ }
+ else
+ {
+ DoorLockCommonInfo.InValidDateHour = curHour;
+ DoorLockCommonInfo.InValidDateMinute = curMin;
+ DoorLockCommonInfo.InValidDateSecond = curSec;
+ }
+
+ if (setTimeType != "DoorLockTime")
+ {
+ var btnOk = new Button
+ {
+ X = Application.GetRealWidth(919),
+ Y = Application.GetRealHeight(40),
+ Height = Application.GetRealHeight(58),
+ Width = Application.GetRealWidth(101),
+ Text = Language.StringByID(R.MyInternationalizationString.Complete),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
+ TextSize = 14,
+ };
+ this.bottomRadiusFrameLayout.AddChidren(btnOk);
+ btnOk.MouseUpEventHandler += (sender1, e1) =>
+ {
+ if (setTimeType == "ValidTime")
+ {
+ var flage = this.CheckValidTime(DoorLockCommonInfo.ValidDateYear, DoorLockCommonInfo.ValidDateMonth, DoorLockCommonInfo.ValidDateDay,
+ curHour, curMin, curSec,
+ DoorLockCommonInfo.InValidDateYear, DoorLockCommonInfo.InValidDateMonth, DoorLockCommonInfo.InValidDateDay,
+ DoorLockCommonInfo.InValidDateHour, DoorLockCommonInfo.InValidDateMinute, DoorLockCommonInfo.InValidDateSecond);
+ if (flage == false)
+ {
+ var mess = Language.StringByID(R.MyInternationalizationString.ValidTimeNoMoreThanInValidTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
+ return;
+ }
+
+ DoorLockCommonInfo.ValidDateHour = curHour;
+ DoorLockCommonInfo.ValidDateMinute = curMin;
+ DoorLockCommonInfo.ValidDateSecond = curSec;
+ }
+ else
+ {
+ //妫�鏌ユ椂闂�
+ var flage = this.CheckValidTime(DoorLockCommonInfo.ValidDateYear, DoorLockCommonInfo.ValidDateMonth, DoorLockCommonInfo.ValidDateDay,
+ DoorLockCommonInfo.ValidDateHour, DoorLockCommonInfo.ValidDateMinute, DoorLockCommonInfo.ValidDateSecond,
+ DoorLockCommonInfo.InValidDateYear, DoorLockCommonInfo.InValidDateMonth, DoorLockCommonInfo.InValidDateDay,
+ curHour, curMin, curSec);
+ if (flage == false)
+ {
+ var mess = Language.StringByID(R.MyInternationalizationString.InvalidTimeNoLessThanValidTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
+ return;
+ }
+
+ DoorLockCommonInfo.InValidDateHour = curHour;
+ DoorLockCommonInfo.InValidDateMinute = curMin;
+ DoorLockCommonInfo.InValidDateSecond = curSec;
+ }
+ if (timeSetAction != null)
+ {
+ timeSetAction();
+ }
+ this.shadowRadiusFrameLayout.RemoveFromParent();
+ MidFrameLayoutContent();
+ };
+ }
+ }
}
+
+ /// <summary>
+ /// 妫�鏌ユ椂闂�
+ /// </summary>
+ /// <returns></returns>
+ private bool CheckValidTime(int validYear, int validMoth, int validDay, int validHour, int validMinute, int validSecond
+ , int inValidYear, int inValidMoth, int inValidDay, int inValidHour, int inValidMinute, int inValidSecond)
+ {
+ //鐢熸晥鏃堕棿
+ string nowValue1 = validYear.ToString()
+ + validMoth.ToString().PadLeft(2, '0')
+ + validDay.ToString().PadLeft(2, '0')
+ + validHour.ToString().PadLeft(2, '0')
+ + validMinute.ToString().PadLeft(2, '0')
+ + validSecond.ToString().PadLeft(2, '0');
+ //澶辨晥鏃堕棿
+ string nowValue2 = inValidYear.ToString()
+ + inValidMoth.ToString().PadLeft(2, '0')
+ + inValidDay.ToString().PadLeft(2, '0')
+ + inValidHour.ToString().PadLeft(2, '0')
+ + inValidMinute.ToString().PadLeft(2, '0')
+ + inValidSecond.ToString().PadLeft(2, '0');
+ var aaaa = nowValue1.CompareTo(nowValue2);
+ if (nowValue1.CompareTo(nowValue2) == 1)
+ {
+ return false;
+ }
+ return true;
+ }
+
+ #endregion
+
+ #region 绉婚櫎鏂规硶
/// <summary>
- /// Changeds the IS cene status.
+ /// 閲嶅啓绉婚櫎鏂规硶
/// </summary>
- /// <param name="scene">Scene.</param>
- public void ChangedISceneStatus(Scene scene)
+ public override void RemoveFromParent()
{
+ ZbGateway.StatusList.Remove(this);
+ base.RemoveFromParent();
}
#endregion
}
--
Gitblit v1.8.0