From 81307af66465a6b5ba189b0fb9b347787f004a4e Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 30 十二月 2020 16:14:15 +0800 Subject: [PATCH] 2020-12-30-1 --- ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs | 100 +++++++++++++++++++++++++++++-------------------- 1 files changed, 59 insertions(+), 41 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs index 7b071fd..fbcce00 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs +++ b/ZigbeeApp/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,16 +34,12 @@ /// </summary> public int timeValue = 0; /// <summary> - /// 鏍囪鏄剧ず鎵ц鏃ユ湡(鐢ㄧ綉鍏崇殑锛岃繕鏄敤绯荤粺鐨勬椂闂�) - /// </summary> - public bool _if = false; - /// <summary> - /// 鏃堕棿鎴� + /// 璁板綍鏃堕棿鎴� /// </summary> public int timeLong = 0; public async void Show() { - + #region 鐣岄潰鐨勫竷灞�浠g爜 UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦 TopView view = new TopView(); @@ -58,7 +56,7 @@ action(Send.CurrentDoorLock.IsDoorLockNormallyMode); } }; - + var middle = new FrameLayout { Y = view.topRowLayout.Bottom, @@ -68,7 +66,6 @@ this.AddChidren(middle); #endregion //鏄父寮�妯″紡鍐嶅幓璇诲彇 - if (Send.CurrentDoorLock.IsDoorLockNormallyMode) { //杩涙潵鏇存柊涓�娆� @@ -82,7 +79,6 @@ logicId = logic.LogicId; timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]) / 3600; timeLong = int.Parse(logic.Conditions[0]["TriggerTime"]); - } catch { } } @@ -136,8 +132,8 @@ ///娣诲姞鑷姩鍖栧浘鏍囩殑鎺т欢 var addIconBtn = new Button { - Width = Application.GetMinRealAverage(69), - Height = Application.GetMinRealAverage(69), + Width = Application.GetRealWidth(69), + Height = Application.GetRealWidth(69), X = Application.GetRealWidth(890), Y = Application.GetRealHeight(60), UnSelectedImagePath = "ZigeeLogic/add.png", @@ -227,6 +223,24 @@ 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> /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈� @@ -240,8 +254,8 @@ { X = Application.GetRealWidth(395), Y = Application.GetRealHeight(92), - Width = Application.GetMinRealAverage(294), - Height = Application.GetMinRealAverage(294), + Width = Application.GetRealWidth(294), + Height = Application.GetRealWidth(294), }; fLayout.AddChidren(modeIconBtn); if (Send.CurrentDoorLock.IsDoorLockNormallyMode) @@ -285,7 +299,6 @@ Send.DelLogic(logicId); } Send.CurrentDoorLock.IsDoorLockNormallyMode = false; - _if = false; ModeView(); } else @@ -304,7 +317,7 @@ } }; - + if (logicId != 0) { ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢 @@ -312,7 +325,7 @@ { Y = Application.GetRealHeight(127 + 69), X = Application.GetRealWidth(80),//125 - Width = Application.GetRealWidth(907+12),//634 + 200 + Width = Application.GetRealWidth(907 + 12),//634 + 200 Height = Application.GetRealHeight(60), TextSize = 15, TextColor = ZigbeeColor.Current.LogicTextBlackColor, @@ -331,22 +344,22 @@ 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"));//灏忔椂 + hour = int.Parse(datetime.ToString("HH"));//灏忔椂 minute = datetime.Minute;//鍒嗛挓 + timeLong = 0; } 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"));//灏忔椂 @@ -393,8 +406,8 @@ ///涓嬩竴绾ц彍鍗曞浘鏍囨帶浠� var nextIconBtn = new Button { - Width = Application.GetMinRealAverage(104), - Height = Application.GetMinRealAverage(104), + Width = Application.GetRealWidth(104), + Height = Application.GetRealWidth(104), X = Application.GetRealWidth(861), Y = Application.GetRealHeight(17), UnSelectedImagePath = "ZigeeLogic/nextIconSone.png", @@ -416,6 +429,7 @@ {///鍐嶆纭 LogicView.TipView.ShowInputTip(true, async (str) => {///纭鍙戦�佸懡浠� + CommonPage.Loading.Start(); try { @@ -429,7 +443,7 @@ else { ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛� - SkipView.GetLogicAll(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫 + SkipView.DelAllLogic(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫 var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫 if (addResult == 0) { @@ -444,7 +458,6 @@ logicId = addResult; timeValue = int.Parse(str); Send.CurrentDoorLock.IsDoorLockNormallyMode = true; - _if = false; ModeView(); ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty); @@ -549,6 +562,7 @@ { if (!SkipView.ExistLogic(logic, Send.CurrentDoorLock)) { + ///涓嶆槸璇ラ棬閿佽嚜鍔ㄥ寲灏变笉鏄剧ず鍑烘潵; continue; } #region 鑷姩鍖栧竷灞�View @@ -577,7 +591,7 @@ selectedRow = logicRow; }; a++; - ///鏄剧ず閫昏緫鍚嶇О鐨勬帶浠� + ///鏄剧ず閫昏緫鍚嶇О鐨勬帶浠� var nameBtn = new Button { Height = Application.GetRealHeight(58), @@ -593,8 +607,8 @@ ///鏄剧ず鐩爣鍔熻兘鑳屾櫙棰滆壊鐨勬帶浠� var typeBjBtn = new FrameLayout { - Width = Application.GetMinRealAverage(82), - Height = Application.GetMinRealAverage(82), + Width = Application.GetRealWidth(82), + Height = Application.GetRealWidth(82), X = Application.GetRealWidth(17), Y = Application.GetRealHeight(84), Radius = (uint)Application.GetMinRealAverage(41), @@ -604,16 +618,16 @@ ///鏄剧ず鐩爣鍔熻兘鍥炬爣鐨勬帶浠� var typeIconBtn = new Button { - Width = Application.GetMinRealAverage(58), - Height = Application.GetMinRealAverage(58), + Width = Application.GetRealWidth(58), + Height = Application.GetRealWidth(58), Gravity = Gravity.Center, }; typeBjBtn.AddChidren(typeIconBtn); ///閫昏緫寮�鍏冲浘鏍囩殑鎺т欢 var switchBtn = new Button { - Width = Application.GetMinRealAverage(104), - Height = Application.GetMinRealAverage(63), + Width = Application.GetRealWidth(104), + Height = Application.GetRealWidth(63), UnSelectedImagePath = "ZigeeLogic/logicclose.png", SelectedImagePath = "ZigeeLogic/logicopen.png", X = Application.GetRealWidth(815), @@ -693,23 +707,26 @@ ///鍒犻櫎鐐瑰嚮浜嬩欢 del.MouseUpEventHandler += (sender, e) => { - var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm, + var alert = new UserCenter.ShowMsgControl(ShowMsgType.Confirm, Language.StringByID(MyInternationalizationString.doyouwanttodelete), - Language.StringByID(MyInternationalizationString.confrim)); - alert.Show(); - alert.ConfirmClickEvent += () => + Language.StringByID(MyInternationalizationString.confrim)); + alert.Show(); + alert.ConfirmClickEvent += () => { Common.Logic.SoneLogicList.Remove(logic); //logicRow.Parent.RemoveFromParent(); fLayoutLogic.RemoveFromParent(); - Send.DelLogic(logic.LogicId); + Send.DelLogic(logic.LogicId); }; - }; + }; } } - - + /// <summary> + /// 鏃堕棿鎴宠浆鎹㈡垚鏃堕棿鏍煎紡 + /// </summary> + /// <param name="unixTimeStamp">鏃堕棿鎴�</param> + /// <returns></returns> public DateTime GetLocalTime(int unixTimeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); @@ -717,6 +734,7 @@ TimeSpan toNow = new TimeSpan(lTime); DateTime dtResult = dtStart.Add(toNow); return dtResult; + } } } -- Gitblit v1.8.0