| | |
| | | using Shared.Common; |
| | | using Shared.R; |
| | | using Shared; |
| | | using Shared.Phone.UserCenter.DoorLock; |
| | | |
| | | namespace Shared.Phone.Device.Logic |
| | | { |
| | | public class SoneLogicList : FrameLayout |
| | | { |
| | | |
| | | public static SoneLogicList soneLogicList; |
| | | public SoneLogicList() |
| | | { |
| | |
| | | soneLogicList = this; |
| | | } |
| | | /// 给徐梅刷新界面用的 |
| | | public Action<bool> action; |
| | | public Action<bool> action; |
| | | ///第二块第一级父控件 |
| | | FrameLayout fLayout = new FrameLayout(); |
| | | ///常开模式图标 |
| | |
| | | |
| | | public async void Show() |
| | | { |
| | | |
| | | #region 界面的布局代码 |
| | | UserView.HomePage.Instance.ScrollEnabled = false;//锁住左滑 |
| | | TopView view = new TopView(); |
| | |
| | | view.clickBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | UserView.HomePage.Instance.ScrollEnabled = true; |
| | | if (updateThread != null && updateThread.IsAlive) |
| | | { |
| | | updateThread.Abort(); |
| | | } |
| | | //把静态变量的这个东西置空 |
| | | soneLogicList = null; |
| | | this.RemoveFromParent(); |
| | |
| | | /// </summary> |
| | | public async void ModeView() |
| | | { |
| | | |
| | | |
| | | if (Send.CurrentDoorLock.IsDoorLockNormallyMode) |
| | | { |
| | | /// 查找是否存在时效性自动化;有的话就返回自动化对象; |
| | |
| | | |
| | | button1.MouseUpEventHandler = async (sender, e) => |
| | | { |
| | | var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock); |
| | | if (result)
|
| | | CommonPage.Loading.Start(); |
| | | try |
| | | { |
| | | if (logic != null) |
| | | var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock); |
| | | if (result) |
| | | { |
| | | ///有可能只有常开模式,没有时效性自动化 |
| | | ///没有判断的话,逻辑会为空,抛出异常; |
| | | Send.DelLogic(logic.LogicId); |
| | | if (logic != null) |
| | | { |
| | | ///有可能只有常开模式,没有时效性自动化 |
| | | ///没有判断的话,逻辑会为空,抛出异常; |
| | | Send.DelLogic(logic.LogicId); |
| | | } |
| | | Send.CurrentDoorLock.IsDoorLockNormallyMode = false; |
| | | ModeView(); |
| | | } |
| | | Send.CurrentDoorLock.IsDoorLockNormallyMode = false; |
| | | ModeView(); |
| | | else |
| | | { |
| | | LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed)); |
| | | } |
| | | } |
| | | else |
| | | catch { } |
| | | finally |
| | | { |
| | | LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed)); |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | CommonPage.Loading.Hide(); |
| | | |
| | | }); |
| | | } |
| | | }; |
| | | if (logic != null) |
| | | { |
| | |
| | | button2.TextSize = 15; |
| | | button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor; |
| | | ///有时效性常开才显示时间条件文本 |
| | | } |
| | | else |
| | | { |
| | | button2.Width = Application.GetRealWidth(0); |
| | | button2.Height = Application.GetRealHeight(0); |
| | | } |
| | | ///时效性常开只有一个条件; |
| | | try |
| | | { |
| | | |
| | | var y = DateTime.Now.Year.ToString();//那一年 |
| | | var m = DateTime.Now.Month.ToString();//那一月 |
| | | var d = DateTime.Now.ToString("dd");//那一天 |
| | | var h = int.Parse(DateTime.Now.ToString("HH"));//当前系统时间 |
| | | var timeInt = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]); |
| | | var timeInt = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]); |
| | | int dayInt = (h + timeInt) / 24;//算出几天后执行 |
| | | int hour = (h + timeInt) % 24;//算出几天后那个时间执行 |
| | | int days = int.Parse(d) + dayInt; |
| | |
| | | string text5 = Language.StringByID(MyInternationalizationString.executeSone); |
| | | button2.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5; |
| | | } |
| | | catch { } |
| | | else { |
| | | button2.Y = Application.GetRealHeight(0); |
| | | button2.X = Application.GetRealWidth(0); |
| | | button2.Width = Application.GetRealWidth(0); |
| | | button2.Height = Application.GetRealHeight(0); |
| | | } |
| | | |
| | | |
| | | } |
| | | else |
| | |
| | | button2.UnSelectedImagePath = "ZigeeLogic/nextIconSone.png"; |
| | | button2.TextSize = 15; |
| | | button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor; |
| | | button2.Text =""; |
| | | button2.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | |
| | |
| | | {///再次确认 |
| | | LogicView.TipView.ShowInputTip(true, async (str) => |
| | | {///确认发送命令 |
| | | CommonPage.Loading.Start(); |
| | | try |
| | | { |
| | | ///xm |
| | | |
| | | var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock); |
| | | if (!result) |
| | | { |
| | |
| | | Send.CurrentDoorLock.IsDoorLockNormallyMode = true; |
| | | ModeView(); |
| | | |
| | | |
| | | } |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | CommonPage.Loading.Hide(); |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | //public static Action<bool> action1=DoorLockCommonInfo.LogicAction; |
| | | |
| | | |
| | | /// <summary> |
| | | /// 定时更新常开模式(防止通过门锁关闭没及时刷新状态) |
| | | /// </summary> |
| | | System.Threading.Thread updateThread; |
| | | public void UpdateModeIcon() |
| | | { |
| | | updateThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | ModeView(); |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | updateThread.Start(); |
| | | } |
| | | //System.Threading.Thread updateThread; |
| | | //public void UpdateModeIcon() |
| | | //{ |
| | | // updateThread = new System.Threading.Thread(() => |
| | | // { |
| | | // while (this.Parent != null) |
| | | // { |
| | | // System.Threading.Thread.Sleep(1000); |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // try |
| | | // { |
| | | // ModeView(); |
| | | // } |
| | | // catch { } |
| | | // }); |
| | | // } |
| | | // }); |
| | | // updateThread.Start(); |
| | | //} |
| | | |
| | | |
| | | } |