From 320d7cc8feb394d0ce3db2ec1d01593b554d990f Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 23 十二月 2020 10:57:13 +0800 Subject: [PATCH] 2020-12-23 1.更新 --- HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs | 225 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 147 insertions(+), 78 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs index 6844db7..7f604b2 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs @@ -22,7 +22,32 @@ return; try { - UpdataFunctionOnCount(function.functionCategory, function.functionType); + ShowFunction vv = ShowFunction.Light; + switch (function.spk) + { + case SPK.FloorHeatStandard: + vv = ShowFunction.FloorHeating; + break; + case SPK.AcStandard: + vv = ShowFunction.AC; + break; + case SPK.CurtainRoller: + case SPK.CurtainShades: + case SPK.CurtainSwitch: + case SPK.CurtainTrietex: + vv = ShowFunction.Curtain; + break; + case SPK.LightCCT: + case SPK.LightDimming: + case SPK.LightRGB: + case SPK.LightSwitch: + vv = ShowFunction.Light; + break; + case SPK.ElectricSocket: + vv = ShowFunction.Electric; + break; + } + UpdataFunctionOnCount(vv, function.functionType); UpdataCloseAllButton(function); } catch @@ -35,7 +60,7 @@ /// 鏇存柊鍔熻兘鎵撳紑鏁伴噺 /// </summary> /// <param name="functionCategory"></param> - static void UpdataFunctionOnCount(FunctionCategory functionCategory, FunctionType functionType) + static void UpdataFunctionOnCount(ShowFunction functionCategory, FunctionType functionType) { try { @@ -53,9 +78,14 @@ { if (view2.GetChildren(k).GetType() == typeof(FrameLayout)) { - var view3 = view2.GetChildren(j) as FrameLayout; + var view3 = view2.GetChildren(k) as FrameLayout; if (view3 == null) { + continue; + } + if (view3.Tag == null || view3.Tag.ToString() != functionCategory + "_View") + { + //MainPage.Log($"i={i}:j={j}:k={k} view3 tag : {view3.Tag.ToString()}"); continue; } for (var o = 0; o < view3.ChildrenCount; o++) @@ -70,24 +100,19 @@ string btnText = "0"; switch (functionCategory) { - case FunctionCategory.Thermostat: - switch (functionType) - { - case FunctionType.FloorHeating: - btnText = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); - break; - case FunctionType.AC: - btnText = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); - break; - } + case ShowFunction.FloorHeating: + btnText = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; - case FunctionCategory.Curtain: + case ShowFunction.AC: + btnText = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); + break; + case ShowFunction.Curtain: btnText = FunctionList.List.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; - case FunctionCategory.Light: + case ShowFunction.Light: btnText = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; - case FunctionCategory.Electrical: + case ShowFunction.Electric: btnText = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; } @@ -98,24 +123,19 @@ var openCount = 0; switch (functionCategory) { - case FunctionCategory.Thermostat: - switch (functionType) - { - case FunctionType.FloorHeating: - openCount = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; - break; - case FunctionType.AC: - openCount = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; - break; - } + case ShowFunction.FloorHeating: + openCount = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; - case FunctionCategory.Curtain: + case ShowFunction.AC: + openCount = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; + break; + case ShowFunction.Curtain: openCount = FunctionList.List.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; - case FunctionCategory.Light: + case ShowFunction.Light: openCount = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; - case FunctionCategory.Electrical: + case ShowFunction.Electric: openCount = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; } @@ -133,7 +153,7 @@ } catch (Exception ex) { - MainPage.Log($"鏇存柊鍏ㄥ叧鎸夐挳寮傚父 : {ex.Message}"); + MainPage.Log($"鏇存柊鍏ㄥ叧鎸夐挳寮傚父 : {ex.Message} "); } } /// <summary> @@ -242,7 +262,7 @@ } catch (Exception ex) { - MainPage.Log($"load close all function : {ex.Message}"); + MainPage.Log($"load close all function : {ex.Message} "); } } @@ -312,53 +332,77 @@ /// <summary> /// 鍏抽棴鎵撳紑鍏ㄩ儴閫変腑绫诲瀷鍔熻兘 /// </summary> - void LoadEvent_SwitchFunction(Button btn, ShowFunction functionCategory) + void LoadEvent_SwitchFunction(Button btn, ShowFunction functionCategory,FrameLayout view) { btn.MouseUpEventHandler = (sender, e) => { btn.IsSelected = !btn.IsSelected; var onoff = btn.IsSelected ? "on" : "off"; - switch (functionCategory) + var waitPage = new Loading(); + view.AddChidren(waitPage); + waitPage.BackgroundColor = 0x00000000; + waitPage.Start(""); + new System.Threading.Thread(() => { - case ShowFunction.AC: - foreach (var f in FunctionList.List.aCs) + try + { + switch (functionCategory) { - f.trait_on_off.curValue = onoff; - //Control.Send(CommandType_A.write, f); - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(f, d); + case ShowFunction.AC: + foreach (var f in FunctionList.List.aCs) + { + f.trait_on_off.curValue = onoff; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(f, d); + System.Threading.Thread.Sleep(100); + } + break; + case ShowFunction.FloorHeating: + foreach (var f in FunctionList.List.floorHeatings) + { + f.trait_on_off.curValue = onoff; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(f, d); + System.Threading.Thread.Sleep(100); + } + break; + case ShowFunction.Light: + foreach (var f in FunctionList.List.lights) + { + f.trait_on_off.curValue = onoff; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(f, d); + System.Threading.Thread.Sleep(100); + } + break; + case ShowFunction.Electric: + foreach (var f in FunctionList.List.electricals) + { + f.trait_on_off.curValue = onoff; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(f, d); + System.Threading.Thread.Sleep(100); + } + break; } - break; - case ShowFunction.Curtain: - //foreach (var f in FunctionList.List.curtains) - //{ - // f.trait_on_off.value = onoff; - // //Control.Send(CommandType_A.write, f); - // Dictionary<string, string> d = new Dictionary<string, string>(); - // d.Add("percent", "100"); - // Control.SendWriteCommand(f, d); - //} - break; - case ShowFunction.Light: - foreach (var f in FunctionList.List.lights) + } + catch (Exception ex) + { + MainPage.Log($"{functionCategory}鍏ㄥ紑鍏ㄥ叧澶辫触:{ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => { - f.trait_on_off.curValue = onoff; - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(f, d); - } - break; - case ShowFunction.Electric: - foreach (var f in FunctionList.List.electricals) - { - f.trait_on_off.curValue = onoff; - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(f, d); - } - break; - } - + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + }) + { IsBackground = true, Priority = System.Threading.ThreadPriority.AboveNormal }.Start(); }; } @@ -366,21 +410,45 @@ /// <summary> /// 绐楀笜鍏ㄥ紑鍏ㄥ叧 /// </summary> - void LoadEvent_CurtainSwitch(Button btnClose, Button btnOpen) + void LoadEvent_CurtainSwitch(Button btnClose, Button btnOpen,FrameLayout view) { btnOpen.MouseUpEventHandler = (sender, e) => { DB_ResidenceData.Instance.GlobalCurtainStatus = true; btnOpen.IsSelected = true; btnClose.IsSelected = false; - foreach (var f in FunctionList.List.curtains) + var waitPage = new Loading(); + waitPage.BackgroundColor = 0x00000000; + view.AddChidren(waitPage); + waitPage.Start(""); + new System.Threading.Thread(() => { - f.trait_on_off.curValue = "on"; - f.percent = 100; - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", f.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(f, d); - } + try + { + foreach (var f in FunctionList.List.curtains) + { + f.trait_on_off.curValue = "on"; + f.percent = 100; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", f.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(f, d); + System.Threading.Thread.Sleep(100); + } + } + catch (Exception ex) + { + MainPage.Log($"绐楀笜鍏ㄥ紑鍏ㄥ叧澶辫触:{ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + }) + { IsBackground = true, Priority = System.Threading.ThreadPriority.AboveNormal }.Start(); }; btnClose.MouseUpEventHandler = (sender, e) => @@ -402,3 +470,4 @@ } } } + -- Gitblit v1.8.0