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 | 211 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 142 insertions(+), 69 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
index 81832f0..5c95989 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
@@ -27,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;
@@ -60,6 +60,8 @@
this.doorLock = doorLock;
setTimeType = timeType;
BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
+ //璇婚棬閿佹椂鍖烘椂闂�
+ DoorLockCommonInfo.GetDoorLockZoneTime();
ZigBee.Device.ZbGateway.StatusList.Add(this);
}
#endregion
@@ -180,7 +182,7 @@
};
this.midFrameLayout.AddChidren(midTopFrameLayout);
- var dtNow = DateTime.Now;
+ var dtNow = DoorLockCommonInfo.DoorlockZoneTime;// DateTime.Now;
for (int i = 0; i < 2; i++)
{
#region MidTopFrameLayout UI
@@ -370,6 +372,7 @@
/// <summary>
/// 娣诲姞銆愰棬閿佹椂闂淬�戣锛堥棬閿佷笓鐢級
/// </summary>
+ /// <param name="zoneFrameLayout"></param>
private void AddDoorLocksTimeRow(FrameLayout zoneFrameLayout)
{
//闂ㄩ攣鏃堕棿
@@ -405,11 +408,17 @@
TextColor = Shared.Common.ZigbeeColor.Current.XMGray4,
TextSize = 14,
};
+
rowLayout.AddChidren(textZone);
textZone.Text = zoneData();
textZone.MouseDownEventHandler += (sender, e) =>
{
- //GetSpecificZoneNowDate();
+ //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()
@@ -430,24 +439,93 @@
private string zoneData()
{
string zoneText = "";
- var gwZone = caculateTimeZone(Common.Config.Instance.Home.Longitude);
+ 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('+'))
{
- zoneText = Language.StringByID(R.MyInternationalizationString.East);
+ 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.West);
+ zoneText = Language.StringByID(R.MyInternationalizationString.CurZoneText0);
}
- var num = ToNum(int.Parse(gwZone));
- return zoneText += num + Language.StringByID(R.MyInternationalizationString.CurZoneText);
+ 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>
- public static String caculateTimeZone(double currentLon)
+ /// <param name="currentLon"></param>
+ /// <returns></returns>
+ public static String CaculateTimeZone(double currentLon)
{
int timeZone;
int shangValue = (int)(currentLon / 15);
@@ -464,58 +542,17 @@
}
/// <summary>
- /// 杞崲鏁板瓧
+ /// 鑾峰彇鎵�鍦ㄦ椂鍖虹殑鏃堕棿
/// </summary>
- private string ToNum(int x)
+ /// <param name="unix"></param>
+ /// <returns></returns>
+ public static int GetLocalTime(int unix)
{
- var numString = new string[] { "闆�", "涓�", "浜�", "涓�", "鍥�", "浜�", "鍏�", "涓�", "鍏�", "涔�", "鍗�", "鍗佷竴", "鍗佷簩" };
- var strChnNamesList = new List<string>(numString);
- return strChnNamesList[x];
+ var gwZone = CaculateTimeZone(Common.Config.Instance.Home.Longitude);
+ var data = unix + 8 * 3600;
+
+ return data;
}
-
- //濡備綍鏄剧ず鏃跺尯鎵�鍦ㄧ殑鏃堕棿
- public DateTime GetSpecificZoneNowDate(string zoneName = "")
- {
- DateTime curZoneDateTime;
-
- //聽鍒椾妇鎵�鏈夋敮鎸佺殑鏃跺尯鍒楄〃
- System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> lst = TimeZoneInfo.GetSystemTimeZones();
- foreach (TimeZoneInfo tzi in lst)
- {
- var aa = tzi;
- var aa1 = tzi.Id;
- }
- GetSpecificZoneNowDate1();
- zoneName = "Central聽America聽Standard聽Time";//缇庡浗
- //灏嗘湰鍦版椂闂磋浆鎹负缇庡浗鏍囧噯涓儴鏃堕棿
- DateTime dt = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, TimeZoneInfo.Local);
- curZoneDateTime = TimeZoneInfo.ConvertTimeFromUtc(dt, TimeZoneInfo.FindSystemTimeZoneById(zoneName));
-
- zoneName = "China Standard Time";//涓浗
- //棣栧厛灏嗘湇鍔″櫒鐨勬椂闂磋浆鍖栦负utc鏃堕棿锛�
- var utcdate = DateTime.Now.ToUniversalTime();
- //鐒跺悗杞崲鎴愭寚瀹氭椂鍖虹殑鏃ユ湡
- TimeZoneInfo beiJingZone = TimeZoneInfo.FindSystemTimeZoneById(zoneName);
- curZoneDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcdate, beiJingZone);
-
- return curZoneDateTime;
- }
-
- public void GetSpecificZoneNowDate1()
- {
- // Get time in local time zone
- DateTime thisTime = DateTime.Now;
- Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(thisTime) ?
- TimeZoneInfo.Local.DaylightName : TimeZoneInfo.Local.StandardName, thisTime);
- Console.WriteLine(" UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(thisTime, TimeZoneInfo.Local));
- // Get Tokyo Standard Time zone
- TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
- DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);
- Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(tstTime) ?
- tst.DaylightName : tst.StandardName, tstTime);
- Console.WriteLine(" UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(tstTime, tst));
- }
-
#endregion
@@ -559,7 +596,7 @@
try
{
var curDateTime = new DateTime(curYear, curMonth, curDay, curHour, curMin, curSec);
- var setTimestamp = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(curDateTime);
+ var setTimestamp = DoorLockCommonInfo.GetUnixTimeStamp(curDateTime);
Application.RunOnMainThread(() =>
{
CommonPage.Loading.Start("");
@@ -701,17 +738,19 @@
string nowValue2 = dtNow.Year.ToString() + curMonth.ToString().PadLeft(2, '0') + curDay.ToString().PadLeft(2, '0');
if (nowValue1.CompareTo(nowValue2) == 1)
{
- this.ShowMassage(ShowMsgType.Error, "鐢熸晥鏃ユ湡涓嶈兘澶т簬褰撳墠鏃ユ湡");
+ var mess = Language.StringByID(R.MyInternationalizationString.ValidTimeNoLessThanCurrentTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
return;
}
//妫�鏌ユ椂闂�
- var flage = this.CheckValidTime(dtNow.Year, curMonth, curDay,
+ 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)
{
- this.ShowMassage(ShowMsgType.Error, "鐢熸晥鏃堕棿涓嶈兘灏忎簬澶辨晥鏃堕棿");
+ var mess = Language.StringByID(R.MyInternationalizationString.ValidTimeNoMoreThanInValidTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
return;
}
DoorLockCommonInfo.ValidDateYear = dtNow.Year;
@@ -721,13 +760,14 @@
else
{
//妫�鏌ユ椂闂�
- var flage = this.CheckValidTime(DoorLockCommonInfo.ValidDateYear, DoorLockCommonInfo.ValidDateMonth, DoorLockCommonInfo.ValidDateDay,
+ 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)
{
- this.ShowMassage(ShowMsgType.Error, "澶辨晥鏃堕棿涓嶈兘澶т簬鐢熸晥鏃堕棿");
+ var mess = Language.StringByID(R.MyInternationalizationString.InvalidTimeNoLessThanValidTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
return;
}
@@ -806,7 +846,39 @@
}
else
{
- curYear = y + 2009;
+ 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;
}
@@ -904,14 +976,14 @@
{
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)
{
- this.ShowMassage(ShowMsgType.Error, "澶辨晥鏃堕棿涓嶈兘澶т簬鐢熸晥鏃堕棿");
+ var mess = Language.StringByID(R.MyInternationalizationString.ValidTimeNoMoreThanInValidTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
return;
}
@@ -928,7 +1000,8 @@
curHour, curMin, curSec);
if (flage == false)
{
- this.ShowMassage(ShowMsgType.Error, "澶辨晥鏃堕棿涓嶈兘澶т簬鐢熸晥鏃堕棿");
+ var mess = Language.StringByID(R.MyInternationalizationString.InvalidTimeNoLessThanValidTime);
+ this.ShowMassage(ShowMsgType.Error, mess);
return;
}
@@ -968,7 +1041,7 @@
+ 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;
--
Gitblit v1.8.0