From ca233e3c6154859a17948d892fbc6bbf723b60a8 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期五, 29 五月 2020 15:47:30 +0800 Subject: [PATCH] 发布的1.0.20052901 --- ZigbeeApp20200525/Shared/Phone/Device/Logic/SoneLogicList.cs | 101 +++++++++++++++++++++----------------------------- 1 files changed, 43 insertions(+), 58 deletions(-) diff --git a/ZigbeeApp20200525/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp20200525/Shared/Phone/Device/Logic/SoneLogicList.cs index 3278852..98ae30c 100644 --- a/ZigbeeApp20200525/Shared/Phone/Device/Logic/SoneLogicList.cs +++ b/ZigbeeApp20200525/Shared/Phone/Device/Logic/SoneLogicList.cs @@ -17,6 +17,8 @@ } /// 缁欏緪姊呭埛鏂扮晫闈㈢敤鐨� public Action<bool> action; + // 鍒锋柊涓婃姤鐣岄潰鐨凙ction + public Action<string, bool> updateCurrentDoorlockActionTemp; ///绗簩鍧楃涓�绾х埗鎺т欢 FrameLayout fLayout = new FrameLayout(); ///绗笁鍧楃涓�绾х埗鎺т欢 @@ -32,15 +34,12 @@ /// </summary> public int timeValue = 0; /// <summary> - /// 鏍囪鏄剧ず鎵ц鏃ユ湡(鐢ㄧ綉鍏崇殑锛岃繕鏄敤绯荤粺鐨勬椂闂�) + /// 璁板綍鏃堕棿鎴� /// </summary> - public bool _if = false; - /// <summary> - /// 鏃堕棿鎴� - /// </summary> - public long timeLong = 0; + public int timeLong = 0; public async void Show() { + #region 鐣岄潰鐨勫竷灞�浠g爜 UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦 TopView view = new TopView(); @@ -48,7 +47,7 @@ view.toptitleNameBtn.TextID = MyInternationalizationString.openmode; view.clickBtn.MouseDownEventHandler += (sender, e) => { - UserView.HomePage.Instance.ScrollEnabled = true; + UserView.HomePage.Instance.ScrollEnabled = true; //鎶婇潤鎬佸彉閲忕殑杩欎釜涓滆タ缃┖ soneLogicList = null; this.RemoveFromParent(); @@ -66,8 +65,7 @@ }; this.AddChidren(middle); #endregion - //鏄父寮�妯″紡鍐嶅幓璇诲彇 - + //鏄父寮�妯″紡鍐嶅幓璇诲彇 if (Send.CurrentDoorLock.IsDoorLockNormallyMode) { //杩涙潵鏇存柊涓�娆� @@ -78,10 +76,9 @@ try { //杩涙潵鏇存柊涓�娆″�� - logicId = logic.LogicId; + logicId = logic.LogicId; timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]) / 3600; - timeLong = long.Parse(logic.Conditions[0]["TriggerTime"]); - + timeLong = int.Parse(logic.Conditions[0]["TriggerTime"]); } catch { } } @@ -172,10 +169,10 @@ actionsInfo.Add("LinkType", 8); actionsInfo.Add("DeviceAddr", Send.CurrentDoorLock.DeviceAddr); actionsInfo.Add("Epoint", "200"); - actionsInfo.Add("PassData", "055704010113");//榛樿闂ㄩ攣甯稿叧 - Dictionary<string, string> accounts = new Dictionary<string, string>(); + actionsInfo.Add("PassData", "055704010113");//榛樿闂ㄩ攣甯稿叧 + Dictionary<string, string> accounts = new Dictionary<string, string>(); accounts.Add("Type", "8"); - accounts.Add("Option4", Send.CurrentDoorLock.DeviceAddr.ToString());//鐢ㄤ簬鍒ゆ柇璇嗗埆鏄摢涓棬閿�; + accounts.Add("Option4", Send.CurrentDoorLock.DeviceAddr.ToString());//鐢ㄤ簬鍒ゆ柇璇嗗埆鏄摢涓棬閿�; accounts.Add("Option2", Send.CurrentDoorLock.DeviceEpoint.ToString()); //new涓�涓柊閫昏緫瀵硅薄锛� //鏂板闂ㄩ攣甯稿紑妯″紡鑷姩鍖栧叆鍙o紱 @@ -184,7 +181,7 @@ Common.Logic.CurrentLogic.LogicType = 2;//鏍囪閫昏緫绫诲瀷 Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.openmode); Common.Logic.CurrentLogic.Conditions.Add(timeConditionsInfo);//娣诲姞鏉′欢 - Common.Logic.CurrentLogic.Actions.Add(actionsInfo);//娣诲姞鐩爣 + Common.Logic.CurrentLogic.Actions.Add(actionsInfo);//娣诲姞鐩爣 Common.Logic.CurrentLogic.Accounts.Add(accounts); var oneLogic = new OneLogic(); UserView.HomePage.Instance.AddChidren(oneLogic); @@ -224,24 +221,10 @@ }); } catch { } - }; - - UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, _bool) => - { - var key = Send.CurrentDoorLock.DeviceAddr + Send.CurrentDoorLock.DeviceEpoint; - if (DoorlockKey == key) - { - try - { - Application.RunOnMainThread(() => - { - Send.CurrentDoorLock.IsDoorLockNormallyMode = _bool; - ModeView(); - }); - } - catch { } - } - }; + }; + + updateCurrentDoorlockActionTemp = (DoorlockKey, _bool) => { var key = Send.CurrentDoorLock.DeviceAddr; if (DoorlockKey == key) { try { Application.RunOnMainThread(() => { Send.CurrentDoorLock.IsDoorLockNormallyMode = _bool; ModeView(); }); } catch { } } }; + UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += updateCurrentDoorlockActionTemp; } /// <summary> /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈� @@ -300,7 +283,6 @@ Send.DelLogic(logicId); } Send.CurrentDoorLock.IsDoorLockNormallyMode = false; - _if = false; ModeView(); } else @@ -346,23 +328,29 @@ int hour = 0; int minute = 0; - if (_if) + if (timeLong != 0) { - ///绗竴娆¤繘鏉ヨ鍙栫綉鍏虫椂闂达紱 + ///璇诲彇缃戝叧鏃堕棿锛� var datetime = GetLocalTime(timeLong); ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈� year = datetime.Year.ToString();//閭d竴骞� month = datetime.Month.ToString();//閭d竴鏈� - days = int.Parse(datetime.ToString("dd"));//閭d竴澶� - hour = int.Parse(datetime.ToString("HH"));//灏忔椂 + var d = int.Parse(datetime.ToString("dd"));//閭d竴澶� + var h = int.Parse(datetime.ToString("HH"));//灏忔椂 + int dayInt = (h + timeValue) / 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂 + hour = (h + timeValue) % 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂鍓╀笅澶氬皯灏忔椂 + days = d + dayInt;//褰撳墠绯荤粺澶╂暟+鎵ц鍚庡ぉ鏁� minute = datetime.Minute;//鍒嗛挓 } else { - ///鍦ㄥ綋鍓嶇晫闈㈢紪杈戞樉绀虹郴缁熸椂闂�(涓嶈兘姣忎竴娆$紪杈戦兘鍘荤綉鍏虫嬁鏁版嵁) - year = DateTime.Now.Year.ToString();//閭d竴骞� + + + + + ///璇诲彇绯荤粺鏃堕棿 year = DateTime.Now.Year.ToString();//閭d竴骞� month = DateTime.Now.Month.ToString();//閭d竴鏈� var d = DateTime.Now.ToString("dd");//閭d竴澶� var h = int.Parse(DateTime.Now.ToString("HH"));//灏忔椂 @@ -432,6 +420,7 @@ {///鍐嶆纭 LogicView.TipView.ShowInputTip(true, async (str) => {///纭鍙戦�佸懡浠� + CommonPage.Loading.Start(); try { @@ -445,7 +434,7 @@ else { ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛� - SkipView.GetLogicAll(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫 + SkipView.DelAllLogic(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫 var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫 if (addResult == 0) { @@ -460,9 +449,8 @@ logicId = addResult; timeValue = int.Parse(str); Send.CurrentDoorLock.IsDoorLockNormallyMode = true; - _if = false; - ModeView(); - ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� + ModeView(); + ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty); } @@ -522,10 +510,10 @@ if (logic.LogicType != 2) { continue; - } - if (SkipView.ExistLogic(logic, Send.CurrentDoorLock)) - { - Common.Logic.SoneLogicList.Add(logic); + } + if (SkipView.ExistLogic(logic, Send.CurrentDoorLock)) + { + Common.Logic.SoneLogicList.Add(logic); } } } @@ -730,16 +718,13 @@ /// </summary> /// <param name="unixTimeStamp">鏃堕棿鎴�</param> /// <returns></returns> - public DateTime GetLocalTime(long unixTimeStamp) + public DateTime GetLocalTime(int unixTimeStamp) { - //DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); - //long lTime = long.Parse(unixTimeStamp + "0000000"); - //TimeSpan toNow = new TimeSpan(lTime); - //DateTime dtResult = dtStart.Add(toNow); - //return dtResult; - - System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 - return startTime.AddMilliseconds(unixTimeStamp); + DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); + long lTime = long.Parse(unixTimeStamp + "0000000"); + TimeSpan toNow = new TimeSpan(lTime); + DateTime dtResult = dtStart.Add(toNow); + return dtResult; } } -- Gitblit v1.8.0