From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs | 288 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 166 insertions(+), 122 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs index 5ef9e00..0e8f778 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs @@ -23,31 +23,31 @@ try { ShowFunction vv = ShowFunction.Light; - switch (function.spk) + if (SPK.ElectricalSpkList().Contains(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; + vv = ShowFunction.Electric; } - UpdataFunctionOnCount(vv, function.functionType); + else if (SPK.FhSpkList().Contains(function.spk)) + { + vv = ShowFunction.FloorHeating; + } + else if (SPK.AcSpkList().Contains(function.spk)) + { + vv = ShowFunction.AC; + } + else if (SPK.CurtainSpkList().Contains(function.spk)) + { + vv = ShowFunction.Curtain; + } + else if (SPK.LightSpkList().Contains(function.spk)) + { + vv = ShowFunction.Light; + } + else if (SPK.AirFreshSpkList().Contains(function.spk)) + { + vv = ShowFunction.FreshAir; + } + UpdataFunctionOnCount(vv, function.spk); UpdataCloseAllButton(function); } catch @@ -60,7 +60,7 @@ /// 鏇存柊鍔熻兘鎵撳紑鏁伴噺 /// </summary> /// <param name="functionCategory"></param> - static void UpdataFunctionOnCount(ShowFunction functionCategory, FunctionType functionType) + static void UpdataFunctionOnCount(ShowFunction functionCategory, string functionType) { try { @@ -95,51 +95,35 @@ var btn = view3.GetChildren(o) as Button; if (btn.Tag != null) { + string btnText = "0"; + switch (functionCategory) + { + case ShowFunction.FloorHeating: + btnText = FunctionList.List.GetFloorHeatingList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); + break; + case ShowFunction.AC: + btnText = FunctionList.List.GetAcList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); + break; + case ShowFunction.Curtain: + btnText = FunctionList.List.GetCurtainList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); + break; + case ShowFunction.Light: + btnText = FunctionList.List.GetLightList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); + break; + case ShowFunction.Electric: + btnText = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); + break; + case ShowFunction.FreshAir: + btnText = FunctionList.List.GetAirFreshList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); + break; + } if (btn.Tag.ToString() == functionCategory + "_onCount") { - string btnText = "0"; - switch (functionCategory) - { - case ShowFunction.FloorHeating: - btnText = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); - break; - 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 ShowFunction.Light: - btnText = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); - break; - case ShowFunction.Electric: - btnText = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); - break; - } btn.Text = btnText; } else if (btn.Tag.ToString() == functionCategory + "_AllControl") { - var openCount = 0; - switch (functionCategory) - { - case ShowFunction.FloorHeating: - openCount = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; - break; - 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 ShowFunction.Light: - openCount = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; - break; - case ShowFunction.Electric: - openCount = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; - break; - } - btn.IsSelected = openCount != 0; + btn.IsSelected = btnText != "0"; } } } @@ -192,7 +176,7 @@ { continue; } - var ssd = r.GetRoomFunctions(false).FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on" && obj.functionCategory != FunctionCategory.Scene); + var ssd = r.GetRoomFunctions(false).FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on"); var sss = ssd.Count; if (sss == 0) { @@ -222,11 +206,6 @@ { foreach (var f in room.GetRoomFunctions(false)) { - if (f.functionCategory == FunctionCategory.Scene) - { - continue; - } - f.trait_on_off.curValue = "off"; Dictionary<string, string> d = new Dictionary<string, string>(); d.Add("on_off", f.trait_on_off.curValue.ToString()); @@ -249,10 +228,6 @@ }; foreach (var f in room.GetRoomFunctions(false)) { - if (f.functionCategory == FunctionCategory.Scene) - { - continue; - } if (f.trait_on_off.curValue.ToString() == "on") { btn.Visible = true; @@ -339,53 +314,115 @@ var onoff = btn.IsSelected ? "on" : "off"; var waitPage = new Loading(); view.AddChidren(waitPage); + waitPage.BackgroundColor = 0x00000000; waitPage.Start(""); + + new System.Threading.Thread(() => { try { - switch (functionCategory) + //浼戠湢鏃堕棿(ms) + int sleepTime = 100; + if(DB_ResidenceData.Instance.GatewayType == 0) { - 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; + sleepTime = 200; + } + if (Control.Ins.GatewayOnline_Local) + { + switch (functionCategory) + { + case ShowFunction.AC: + foreach (var f in FunctionList.List.GetAcList()) + { + 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(sleepTime); + } + break; + case ShowFunction.FloorHeating: + foreach (var f in FunctionList.List.GetFloorHeatingList()) + { + 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(sleepTime); + } + break; + case ShowFunction.Light: + foreach (var f in FunctionList.List.GetLightList()) + { + 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(sleepTime); + } + break; + case ShowFunction.Electric: + foreach (var f in FunctionList.List.GetElectricals()) + { + 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(sleepTime); + } + break; + case ShowFunction.FreshAir: + foreach (var f in FunctionList.List.GetAirFreshList()) + { + 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(sleepTime); + } + break; + } + } + else + { + switch (functionCategory) + { + case ShowFunction.AC: + List<Function> acList = new List<Function>(); + foreach(var f in FunctionList.List.GetAcList()) + { + acList.Add(f); + } + Control.Ins.SwtichFunctions(onoff == "on", acList); + break; + case ShowFunction.FloorHeating: + List<Function> fhList = new List<Function>(); + foreach (var f in FunctionList.List.GetFloorHeatingList()) + { + fhList.Add(f); + } + Control.Ins.SwtichFunctions(onoff == "on", fhList); + break; + case ShowFunction.Light: + List<Function> lightList = new List<Function>(); + foreach (var f in FunctionList.List.GetLightList()) + { + lightList.Add(f); + } + Control.Ins.SwtichFunctions(onoff == "on", lightList); + break; + case ShowFunction.Electric: + List<Function> eleList = new List<Function>(); + foreach (var f in FunctionList.List.GetElectricals()) + { + eleList.Add(f); + } + Control.Ins.SwtichFunctions(onoff == "on", eleList); + break; + } + + } } catch (Exception ex) @@ -396,8 +433,11 @@ { Application.RunOnMainThread(() => { - waitPage.Hide(); - waitPage.RemoveFromParent(); + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } }); } }) @@ -417,16 +457,17 @@ btnOpen.IsSelected = true; btnClose.IsSelected = false; var waitPage = new Loading(); + waitPage.BackgroundColor = 0x00000000; view.AddChidren(waitPage); waitPage.Start(""); new System.Threading.Thread(() => { try { - foreach (var f in FunctionList.List.curtains) + foreach (var f in FunctionList.List.GetCurtainList()) { f.trait_on_off.curValue = "on"; - f.percent = 100; + f.SetAttrState(FunctionAttributeKey.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); @@ -441,8 +482,11 @@ { Application.RunOnMainThread(() => { - waitPage.Hide(); - waitPage.RemoveFromParent(); + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } }); } }) @@ -454,10 +498,10 @@ DB_ResidenceData.Instance.GlobalCurtainStatus = false; btnClose.IsSelected = true; btnOpen.IsSelected = false; - foreach (var f in FunctionList.List.curtains) + foreach (var f in FunctionList.List.GetCurtainList()) { f.trait_on_off.curValue = "off"; - f.percent = 0; + f.SetAttrState(FunctionAttributeKey.Percent, "0"); Dictionary<string, string> d = new Dictionary<string, string>(); d.Add("on_off", f.trait_on_off.curValue.ToString()); Control.Ins.SendWriteCommand(f, d); -- Gitblit v1.8.0