From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期四, 03 十二月 2020 15:35:42 +0800 Subject: [PATCH] 2020-12-03-1 --- HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs | 202 ++++++++++++++++++++++++-------------------------- 1 files changed, 96 insertions(+), 106 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs index c6e918d..edd7153 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using Shared; @@ -6,6 +7,8 @@ { public partial class RollingShutterPage { + bool inControl = false; + /// <summary> /// 鏇存柊绐楀笜 /// </summary> @@ -17,26 +20,28 @@ return; if (uCurtain.functionType == bodyView.curtain.functionType && uCurtain.sid == bodyView.curtain.sid) { - if (uCurtain.on_off == "stop") + if (uCurtain.trait_on_off.curValue.ToString() == "stop") { bodyView.btnCurtainOpen.IsSelected = true; bodyView.btnCurtainClose.IsSelected = false; bodyView.btnCurtainStop.IsSelected = false; } - else if (uCurtain.on_off == "on") + else if (uCurtain.trait_on_off.curValue.ToString() == "on") { bodyView.btnCurtainOpen.IsSelected = true; bodyView.btnCurtainClose.IsSelected = false; bodyView.btnCurtainStop.IsSelected = false; } - else if (uCurtain.on_off == "off") + else if (uCurtain.trait_on_off.curValue.ToString() == "off") { bodyView.btnCurtainOpen.IsSelected = false; bodyView.btnCurtainClose.IsSelected = true; bodyView.btnCurtainStop.IsSelected = false; } - bodyView.controlBar.Progress = bodyView.curtainSeekBar.Progress = Convert.ToInt32(uCurtain.openLevel); - + if ((DateTime.Now - uCurtain.refreshTime).TotalMilliseconds > 300 && !bodyView.inControl) + { + bodyView.controlBar.Progress = bodyView.curtainSeekBar.Progress = Convert.ToInt32(uCurtain.percent); + } } }); } @@ -50,9 +55,11 @@ LoadCollectionEvent(); //鍥為��鍒锋柊淇℃伅浜嬩欢 - actionRefresh = () => { + actionRefresh = () => + { btnFunctionName.Text = btnFunctionName_Out.Text = curtain.name; btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = curtain.GetRoomListName(); + curtain.SaveFunctionData(); }; } /// <summary> @@ -60,9 +67,10 @@ /// </summary> void LoadCollectionEvent() { - btnCollection.MouseUpEventHandler += (sender, e) => { - btnCollection.IsSelected = curtain.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - DB_ResidenceData.residenceData.SaveResidenceData(); + btnCollection.MouseUpEventHandler += (sender, e) => + { + btnCollection.IsSelected = curtain.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + curtain.SaveFunctionData(); }; } @@ -71,119 +79,101 @@ /// </summary> void LoadEvent_ControlEvent() { - btnCurtainClose.MouseUpEventHandler = (sender, e) => { + btnCurtainClose.MouseUpEventHandler = (sender, e) => + { btnCurtainClose.IsSelected = true; btnCurtainStop.IsSelected = false; btnCurtainOpen.IsSelected = false; - curtain.on_off = "off"; - curtain.openLevel = 0; - Control.Send(CommandType_A.write, curtain); + curtain.trait_on_off.curValue = "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.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); }; - btnCurtainStop.MouseDownEventHandler = (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.on_off = "stop"; - Control.Send(CommandType_A.write, curtain); - }; - - btnCurtainOpen.MouseUpEventHandler = (sender, e) => { - btnCurtainOpen.IsSelected = true; - btnCurtainClose.IsSelected = false; - btnCurtainStop.IsSelected = false; - curtain.on_off = "on"; - curtain.openLevel = 100; - Control.Send(CommandType_A.write, curtain); - }; - - DateTime delayTime = DateTime.MinValue; - - btnMinusSignIcon.MouseDownEventHandler = (sender, e) => { - if (curtain.openLevel > 1) - { - curtain.openLevel--; - controlBar.Progress = curtain.openLevel; - delayTime = DateTime.Now; - new System.Threading.Thread(() => { - while (delayTime != DateTime.MaxValue) - { - System.Threading.Thread.Sleep(100); - if ((DateTime.Now - delayTime).TotalSeconds > 1) - { - if (curtain.openLevel < 1) - { - break; - } - curtain.openLevel--; - Application.RunOnMainThread(() => { - controlBar.Progress = curtain.openLevel; - }); - } - } - }) - { IsBackground = true }.Start(); - } - }; - btnMinusSignIcon.MouseUpEventHandler = (sender, e) => { - delayTime = DateTime.MaxValue; - Control.Send(CommandType_A.write, curtain); - }; - - btnPlusSgnIcon.MouseDownEventHandler = (sender, e) => { - if (curtain.openLevel > 1) - { - curtain.openLevel++; - controlBar.Progress = curtain.openLevel; - delayTime = DateTime.Now; - new System.Threading.Thread(() => { - while (delayTime != DateTime.MaxValue) - { - System.Threading.Thread.Sleep(100); - if ((DateTime.Now - delayTime).TotalSeconds > 1) - { - if (curtain.openLevel > 99) - { - break; - } - curtain.openLevel++; - Application.RunOnMainThread(() => { - controlBar.Progress = curtain.openLevel; - }); - } - } - }) - { IsBackground = true }.Start(); - } - }; - btnPlusSgnIcon.MouseUpEventHandler = (sender, e) => { - delayTime = DateTime.MaxValue; - Control.Send(CommandType_A.write, curtain); - }; - - curtainSeekBar.OnProgressChangedEvent = (sender, e) => + btnCurtainStop.MouseUpEventHandler = (sender, e) => { - delayTime = DateTime.Now; + btnCurtainOpen.IsSelected = true; + btnCurtainClose.IsSelected = false; + btnCurtainStop.IsSelected = false; + curtain.trait_on_off.curValue = "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.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + }; + + btnCurtainOpen.MouseUpEventHandler = (sender, e) => + { + btnCurtainOpen.IsSelected = true; + btnCurtainClose.IsSelected = false; + btnCurtainStop.IsSelected = false; + curtain.trait_on_off.curValue = "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.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + }; + + + btnMinusSignIcon.MouseUpEventHandler = (sender, e) => + { + curtain.percent--; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + }; + + btnPlusSgnIcon.MouseUpEventHandler = (sender, e) => + { + curtain.percent++; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + }; + curtainSeekBar.OnStartTrackingTouchEvent = (sender, e) => + { + inControl = true; + }; + curtainSeekBar.OnStopTrackingTouchEvent = (sender, e) => + { + inControl = false; new System.Threading.Thread(() => { - while (delayTime != DateTime.MaxValue) - { - System.Threading.Thread.Sleep(100); - if ((DateTime.Now - delayTime).TotalSeconds > 1) - { - curtain.openLevel = e; - Control.Send(CommandType_A.write, curtain); - } - } + curtain.percent = e; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + curtain.refreshTime = DateTime.Now; }) { IsBackground = true }.Start(); }; + controlBar.OnStartTrackingTouchEvent = (sender, e) => + { + inControl = true; + }; + controlBar.OnStopTrackingTouchEvent = (sender, e) => + { + inControl = false; + new System.Threading.Thread(() => + { + curtain.percent = e; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + curtain.refreshTime = DateTime.Now; + }) + { IsBackground = true }.Start(); + }; } } } -- Gitblit v1.8.0