From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 16 七月 2024 13:59:56 +0800 Subject: [PATCH] 增加全部挂断 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 303 +++++++++++++++++++++++++++++++------------------ 1 files changed, 191 insertions(+), 112 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs index cdaef53..6a9bac7 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using HDL_ON.DriverLayer; using HDL_ON.Entity; +using HDL_ON.UI.CSS; using HDL_ON.UI.Music; using Shared; @@ -9,54 +10,60 @@ { public partial class FunctionControlZone { - /// <summary> - /// 鏇存柊寮�鍏崇姸鎬� - /// </summary> - /// <param name="upfunc"></param> - public static void UpdataOnOffState(Function upfunc) - { - if(bodyDiv!= null) - { - Application.RunOnMainThread(() => { - if(bodyDiv.Tag.ToString() == upfunc.sid) - { - for (var o = 0; o < bodyDiv.ChildrenCount; o++) - { - if (bodyDiv.GetChildren(o).GetType() == typeof(Button)) - { - var btn = bodyDiv.GetChildren(o) as Button; - if (btn.Tag != null) - { - if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar") - { - btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on"; - } - } - } - else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar)) - { - var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar; - if (btn.Tag != null) - { - if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar") - { - btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness)); - } - } - } - } + // /// <summary> + // /// 鏇存柊寮�鍏崇姸鎬� + // /// </summary> + // /// <param name="upfunc"></param> + // public static void UpdataOnOffState(Function upfunc) + // { + // if(bodyDiv!= null) + // { + // Application.RunOnMainThread(() => { + // if(bodyDiv.Tag.ToString() == upfunc.sid) + // { + // for (var o = 0; o < bodyDiv.ChildrenCount; o++) + // { + // if (bodyDiv.GetChildren(o).GetType() == typeof(Button)) + // { + // var btn = bodyDiv.GetChildren(o) as Button; + // if (btn.Tag != null) + // { + // if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar") + // { + // btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on"; + // } + // } + // } + // else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar)) + // { + // var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar; + // if (btn.Tag != null) + // { + // if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar") + // { + // btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness)); + // } + // } + // } + // } - } + // } + // }); + // } + // } + /// <summary> + /// 鏇存柊鍦ㄧ嚎鐘舵�� + /// </summary> + public void UpdataOnline(bool online) + { + if (bodyDiv != null) + { + Application.RunOnMainThread(() => + { + bodyDiv.BackgroundColor = online ? CSS_Color.MainBackgroundColor : CSS_Color.PromptingColor2; + bodyDiv.btnOffline.Visible = !online; }); } - } - /// <summary> - /// 鏇存柊浜害鐘舵�� - /// </summary> - /// <param name="upfunc"></param> - static void UpdataBrightnessState(Function upfunc) - { - } /// <summary> @@ -79,6 +86,18 @@ btnSwitch.MouseUpEventHandler = (sender, e) => { + //DriverLayer.Control.Ins.GatewayOnline_Cloud = false; + //DriverLayer.Control.Ins.GatewayOnline_Local = true; + //if (!function.isOnline())//绂荤嚎涓嶅厑璁告搷浣� + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} btnSwitch.IsSelected = !btnSwitch.IsSelected; if(SPK.NotStatusSpkList.Contains( function.spk )) @@ -109,34 +128,24 @@ } #region 鐏厜鐨勪簨浠跺垪琛� - /// <summary> - /// 鐏厜寮�鍏充簨浠� - /// </summary> - void LoadEvent_LightSwitch(Button btnSwitch) - { - btnSwitch.MouseUpEventHandler += (sender, e) => - { - btnSwitch.IsSelected = !btnSwitch.IsSelected; - new System.Threading.Thread(() => - { - if (SPK.LightSpkList().Contains( function.spk)) - { - function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", function.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(function, d); - } - }) - { IsBackground = true }.Start(); - }; - } + /// <summary> /// 鐏厜浜害璋冭妭浜嬩欢 /// </summary> void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar) { - if(function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) + if (!function.isOnline())//绂荤嚎涓嶅厑璁告搷浣� + { + //new Tip() + //{ + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + //}.Show(MainPage.BaseView); + return; + } + if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB || function.spk == SPK.LightCCT) { dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => { onDimmerBar = true; @@ -152,32 +161,32 @@ }; dimmerControlBar.OnProgressChangedEvent = (sender, e) => { dimmerControlBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; - //light.brightness = e; - //light.trait_on_off.curValue = e > 0 ? "on" : "off"; + function.SetAttrState(FunctionAttributeKey.Brightness, e); + function.trait_on_off.curValue = e > 0 ? "on" : "off"; - //if (e == 0 || e == 100) - //{ - // //Control.Send(CommandType_A.write, light); - // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - // d.Add("brightness", light.brightness.ToString()); - // Control.Ins.SendWriteCommand(light, d); - //} - //else - //{ - // var tm = (DateTime.Now - light.refreshTime).TotalMilliseconds; - // Console.WriteLine("skip time "+tm); - // if (300 < tm) - // { - // light.refreshTime = DateTime.Now; - // new System.Threading.Thread(() => - // { - // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - // d.Add("brightness", light.brightness.ToString()); - // Control.Ins.SendWriteCommand(light, d); - // }) - // { IsBackground = true }.Start(); - // } - //} + if (e == 0 || e == 100) + { + //Control.Send(CommandType_A.write, light); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("brightness", e.ToString()); + Control.Ins.SendWriteCommand(function, d); + } + else + { + var tm = (DateTime.Now - function.refreshTime).TotalMilliseconds; + Console.WriteLine("skip time " + tm); + if (500 < tm) + { + function.refreshTime = DateTime.Now; + new System.Threading.Thread(() => + { + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("brightness", e.ToString()); + Control.Ins.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); + } + } }; } @@ -192,41 +201,71 @@ /// <param name="btnStop"></param> /// <param name="btnOpen"></param> /// <param name="btnClose"></param> - void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Function curtain) + void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose) { btnClose.MouseUpEventHandler = (sender, e) => { + //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣� + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} btnClose.IsSelected = true; btnStop.IsSelected = false; btnOpen.IsSelected = false; - curtain.trait_on_off.curValue = "off"; - curtain.SetAttrState(FunctionAttributeKey.Percent, 0); + function.trait_on_off.curValue = "off"; + function.SetAttrState(FunctionAttributeKey.Percent, 0); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(curtain, d); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(function, d); }; btnStop.MouseUpEventHandler = (sender, e) => { + //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣� + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} btnStop.IsSelected = true; btnClose.IsSelected = false; btnOpen.IsSelected = false; - curtain.trait_on_off.curValue = "stop"; + function.trait_on_off.curValue = "stop"; Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(curtain, d); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(function, d); }; btnOpen.MouseUpEventHandler = (sender, e) => { + //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣� + //{ + // new Tip() + // { + // CloseTime = 1, + // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + // Direction = AMPopTipDirection.None, + // }.Show(MainPage.BaseView); + // return; + //} btnOpen.IsSelected = true; btnClose.IsSelected = false; btnStop.IsSelected = false; - curtain.trait_on_off.curValue = "on"; - curtain.SetAttrState(FunctionAttributeKey.Percent, 100); + function.trait_on_off.curValue = "on"; + function.SetAttrState(FunctionAttributeKey.Percent, 100); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(curtain, d); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(function, d); }; } #endregion @@ -243,6 +282,16 @@ }; btnUp.MouseUpEventHandler = (sender, e) => { + if (!function.isOnline())//绂荤嚎涓嶅厑璁告搷浣� + { + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + Direction = AMPopTipDirection.None, + }.Show(MainPage.BaseView); + return; + } new System.Threading.Thread(() => { System.Threading.Thread.Sleep(2000); @@ -264,6 +313,16 @@ }; btnDown.MouseUpEventHandler = (sender, e) => { + if (!function.isOnline())//绂荤嚎涓嶅厑璁告搷浣� + { + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + Direction = AMPopTipDirection.None, + }.Show(MainPage.BaseView); + return; + } new System.Threading.Thread(() => { System.Threading.Thread.Sleep(2000); @@ -291,7 +350,7 @@ /// <param name="btnOpen"></param> /// <param name="btnClose"></param> /// <param name="curtain"></param> - void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, A31MusicModel a31player) + void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, Function a31player) { if (a31player == null) return; @@ -299,7 +358,10 @@ btnPrev.MouseDownEventHandler = (sender, e) => { btnPrev.IsSelected = true; - SendMethod.Previous(a31player); + a31player.SetAttrState("song_step", "up"); + Dictionary<string, string> dic = new Dictionary<string, string>(); + dic.Add("song_step", "up"); + SendMethod.Current.SendControlCommand(a31player, dic); }; btnPrev.MouseUpEventHandler = (sender, e) => { @@ -308,24 +370,30 @@ ///鏆傚仠/鎾斁鐐瑰嚮浜嬩欢 btnPlay.MouseDownEventHandler = (sender, e) => { + string status = "off"; if (btnPlay.IsSelected) { btnPlay.IsSelected = false; - SendMethod.Pause(a31player); - a31player.A31PlayStatus.status = "pause"; + status = "off"; } else { btnPlay.IsSelected = true; - SendMethod.Play(a31player); - a31player.A31PlayStatus.status = "play"; + status = "on"; } + a31player.SetAttrState("on_off", status); + Dictionary<string, string> dic = new Dictionary<string, string>(); + dic.Add("on_off", status); + SendMethod.Current.SendControlCommand(a31player, dic); }; ///涓嬩竴鏇茬偣鍑讳簨浠� btnNext.MouseDownEventHandler = (sender, e) => { btnNext.IsSelected = true; - SendMethod.Next(a31player); + a31player.SetAttrState("song_step", "down"); + Dictionary<string, string> dic = new Dictionary<string, string>(); + dic.Add("song_step", "down"); + SendMethod.Current.SendControlCommand(a31player, dic); }; btnNext.MouseUpEventHandler = (sender, e) => { @@ -339,7 +407,18 @@ /// </summary> void LoadEvent_DivSkipEvent() { - var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor); + //if (function.spk == SPK.GroupControl) + //{ + // EventHandler<MouseEventArgs> handler = (sender, e) => { + // var dialog = new GroupControlPage(FunctionList.List.groupControls.Find((obj) => obj.sid == function.sid)); + // dialog.ShowDialog(); + // }; + // this.MouseUpEventHandler = handler; + // btnName.MouseUpEventHandler = handler; + // btnFromFloor.MouseUpEventHandler = handler; + // return; + //} + var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor, UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.room,this.action); this.MouseUpEventHandler = eventHandler; btnName.MouseUpEventHandler = eventHandler; btnFromFloor.MouseUpEventHandler = eventHandler; -- Gitblit v1.8.0