From af1cb3ecd0f4b0589e00b28f7f9edccf39e6e12b Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 10 九月 2020 16:15:11 +0800 Subject: [PATCH] 202009101 --- HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs | 168 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 147 insertions(+), 21 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs index c8f1c0f..676ac1c 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs @@ -1,10 +1,50 @@ 锘縰sing System; using HDL_ON.Entity; +using Shared; namespace HDL_ON.UI { public partial class RollingShutterPage { + /// <summary> + /// 鏇存柊绐楀笜 + /// </summary> + /// <param name="uCurtain"></param> + public static void UpdataState(Curtain uCurtain) + { + Application.RunOnMainThread(() => { + if (bodyView == null) + return; + if (uCurtain.functionType == bodyView.curtain.functionType && uCurtain.sid == bodyView.curtain.sid) + { + if (uCurtain.trait_on_off.value.ToString() == "stop") + { + bodyView.btnCurtainOpen.IsSelected = true; + bodyView.btnCurtainClose.IsSelected = false; + bodyView.btnCurtainStop.IsSelected = false; + } + else if (uCurtain.trait_on_off.value.ToString() == "on") + { + bodyView.btnCurtainOpen.IsSelected = true; + bodyView.btnCurtainClose.IsSelected = false; + bodyView.btnCurtainStop.IsSelected = false; + } + else if (uCurtain.trait_on_off.value.ToString() == "off") + { + bodyView.btnCurtainOpen.IsSelected = false; + bodyView.btnCurtainClose.IsSelected = true; + bodyView.btnCurtainStop.IsSelected = false; + } + if ((DateTime.Now - uCurtain.refreshTime).TotalMilliseconds > 300) + { + bodyView.controlBar.Progress = bodyView.curtainSeekBar.Progress = Convert.ToInt32(uCurtain.percent); + } + + + } + }); + } + /// <summary> /// 鍔犺浇浜嬩欢鍒楄〃 /// </summary> @@ -14,9 +54,10 @@ LoadCollectionEvent(); //鍥為��鍒锋柊淇℃伅浜嬩欢 - actionRefresh = () => { - btnFunctionName.Text = btnFunctionName_Out.Text = function.name; - btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName(); + actionRefresh = () => + { + btnFunctionName.Text = btnFunctionName_Out.Text = curtain.name; + btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = curtain.GetRoomListName(); }; } /// <summary> @@ -24,37 +65,122 @@ /// </summary> void LoadCollectionEvent() { - btnCollection.MouseUpEventHandler += (sender, e) => { - btnCollection.IsSelected = function.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - DB_ResidenceData.residenceData.SaveResidenceData(); + btnCollection.MouseUpEventHandler += (sender, e) => + { + btnCollection.IsSelected = curtain.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + curtain.SaveFunctionData(); }; } /// <summary> - /// 鍔犺浇绐楀笜寮�鍏冲仠鎸夐挳鎺у埗浜嬩欢 + /// 鍔犺浇绐楀笜鎺у埗浜嬩欢 /// </summary> void LoadEvent_ControlEvent() { - btnCurtainClose.MouseDownEventHandler += (sender, e) => { + btnCurtainClose.MouseUpEventHandler = (sender, e) => + { btnCurtainClose.IsSelected = true; - }; - btnCurtainClose.MouseUpEventHandler += (sender, e) => { - btnCurtainClose.IsSelected = false; - }; - - btnCurtainStop.MouseDownEventHandler += (sender, e) => { - btnCurtainStop.IsSelected = true; - }; - btnCurtainStop.MouseUpEventHandler += (sender, e) => { btnCurtainStop.IsSelected = false; + btnCurtainOpen.IsSelected = false; + curtain.trait_on_off.value = "off"; + curtain.percent = 0; + //Control.Send(CommandType_A.write, curtain); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.value.ToString()); + Control.SendWriteCommand(curtain, d); }; - btnCurtainOpen.MouseDownEventHandler += (sender, e) => { - btnCurtainOpen.IsSelected = true; - }; - btnCurtainOpen.MouseUpEventHandler += (sender, e) => { + btnCurtainStop.MouseDownEventHandler = (sender, e) => + { + btnCurtainStop.IsSelected = true; + btnCurtainClose.IsSelected = false; btnCurtainOpen.IsSelected = false; }; + btnCurtainStop.MouseUpEventHandler = (sender, e) => + { + btnCurtainOpen.IsSelected = true; + btnCurtainClose.IsSelected = false; + btnCurtainStop.IsSelected = false; + curtain.trait_on_off.value = "stop"; + //Control.Send(CommandType_A.write, curtain); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.value.ToString()); + Control.SendWriteCommand(curtain, d); + }; + + btnCurtainOpen.MouseUpEventHandler = (sender, e) => + { + btnCurtainOpen.IsSelected = true; + btnCurtainClose.IsSelected = false; + btnCurtainStop.IsSelected = false; + curtain.trait_on_off.value = "on"; + curtain.percent = 100; + //Control.Send(CommandType_A.write, curtain); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.value.ToString()); + Control.SendWriteCommand(curtain, d); + }; + + DateTime delayTime = DateTime.MinValue; + + btnMinusSignIcon.MouseUpEventHandler = (sender, e) => + { + delayTime = DateTime.MinValue; + //Control.Send(CommandType_A.write, curtain); + curtain.percent--; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.SendWriteCommand(curtain, d); + }; + + btnPlusSgnIcon.MouseUpEventHandler = (sender, e) => + { + delayTime = DateTime.MinValue; + //Control.Send(CommandType_A.write, curtain); + curtain.percent++; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.SendWriteCommand(curtain, d); + }; + + curtainSeekBar.OnProgressChangedEvent = (sender, e) => + { + controlBar.Progress = curtainSeekBar.Progress; + new System.Threading.Thread(() => + { + if ((DateTime.Now - delayTime).TotalMilliseconds > 300) + { + delayTime = DateTime.Now; + curtain.percent = e; + //Control.Send(CommandType_A.write, curtain); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.SendWriteCommand(curtain, d); + curtain.refreshTime = DateTime.Now; + } + }) + { IsBackground = true }.Start(); + }; + + controlBar.OnProgressChangedEvent = (sender, e) => + { + curtainSeekBar.Progress = controlBar.Progress; + new System.Threading.Thread(() => + { + MainPage.Log(delayTime.ToLongTimeString()); + if ((DateTime.Now - delayTime).TotalMilliseconds > 300) + { + delayTime = DateTime.Now; + curtain.percent = e; + //Control.Send(CommandType_A.write, curtain); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.SendWriteCommand(curtain, d); + curtain.refreshTime = DateTime.Now; + } + }) + { IsBackground = true }.Start(); + }; } } -- Gitblit v1.8.0