From d53f7315de145266e6465d9f95d11d1712b9a91b Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 18 十二月 2020 20:55:28 +0800 Subject: [PATCH] 20201218-6 --- HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs | 154 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 92 insertions(+), 62 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs index 1df2ad4..6844db7 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -19,8 +20,14 @@ Application.RunOnMainThread(() => { if (bodyView == null) return; - UpdataFunctionOnCount(function.functionCategory,function.functionType); - UpdataCloseAllButton(function); + try + { + UpdataFunctionOnCount(function.functionCategory, function.functionType); + UpdataCloseAllButton(function); + } + catch + { + } }); } @@ -47,7 +54,7 @@ if (view2.GetChildren(k).GetType() == typeof(FrameLayout)) { var view3 = view2.GetChildren(j) as FrameLayout; - if(view3== null) + if (view3 == null) { continue; } @@ -67,21 +74,21 @@ switch (functionType) { case FunctionType.FloorHeating: - btnText = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count.ToString(); + btnText = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; case FunctionType.AC: - btnText = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count.ToString(); + btnText = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; } break; case FunctionCategory.Curtain: - btnText = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count.ToString(); + btnText = FunctionList.List.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; case FunctionCategory.Light: - btnText = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count.ToString(); + btnText = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; case FunctionCategory.Electrical: - btnText = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count.ToString(); + btnText = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); break; } btn.Text = btnText; @@ -95,21 +102,21 @@ switch (functionType) { case FunctionType.FloorHeating: - openCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + openCount = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; case FunctionType.AC: - openCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + openCount = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; } break; case FunctionCategory.Curtain: - openCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + openCount = FunctionList.List.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; case FunctionCategory.Light: - openCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + openCount = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; case FunctionCategory.Electrical: - openCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + openCount = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; break; } btn.IsSelected = openCount != 0; @@ -139,7 +146,7 @@ if (bodyView.roomListView.GetChildren(i).GetType() == typeof(FrameLayout)) { var view1 = bodyView.roomListView.GetChildren(i) as FrameLayout; - if (!function.roomIdList.Contains(view1.Tag.ToString())) + if (!function.roomIds.Contains(view1.Tag.ToString())) continue; for (int j = 0; j < view1.ChildrenCount; j++) { @@ -148,24 +155,24 @@ var btn = view1.GetChildren(j) as Button; if (btn.Tag != null && btn.Tag.ToString() == "AllClose") { - if (function.trait_on_off.value.ToString() == "on") + if (function.trait_on_off.curValue.ToString() == "on") { btn.Visible = true; } else { - foreach (var rId in function.roomIdList) + foreach (var rId in function.roomIds) { - if(rId == null) + if (rId == null) { continue; } - var r = DB_ResidenceData.rooms.Find(s => s.sid == rId); - if(r == null) + var r = SpatialInfo.CurrentSpatial.RoomList.Find(s => s.roomId == rId); + if (r == null) { continue; } - var ssd = r.GetRoomFunctions(false).FindAll((obj) => obj.trait_on_off.value.ToString() == "on" && obj.functionCategory != FunctionCategory.Scene); + var ssd = r.GetRoomFunctions(false).FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on" && obj.functionCategory != FunctionCategory.Scene); var sss = ssd.Count; if (sss == 0) { @@ -191,21 +198,34 @@ { Action action = () => { - foreach (var f in room.GetRoomFunctions(false)) + new System.Threading.Thread(() => { - if (f.functionCategory == FunctionCategory.Scene) + foreach (var f in room.GetRoomFunctions(false)) { - continue; + 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()); + Control.Ins.SendWriteCommand(f, d); } - f.trait_on_off.value = "off"; - //Control.Send(CommandType_A.write, f); - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", f.trait_on_off.value.ToString()); - Control.SendWriteCommand(f, d); - } + + foreach (var m in Music.A31MusicModel.A31MusicModelList) + { + if (m.roomIds.Contains(room.roomId)) + { + Music.SendMethod.Pause(m); + } + } + }) + { IsBackground = true }.Start(); + btn.Visible = false; }; - new PublicAssmebly().TipMsg(StringId.Tip, StringId.TipCloseAllFunctionInRoom, action); + new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.TipCloseAllFunctionInRoom, action); }; foreach (var f in room.GetRoomFunctions(false)) { @@ -213,7 +233,7 @@ { continue; } - if (f.trait_on_off.value.ToString() == "on") + if (f.trait_on_off.curValue.ToString() == "on") { btn.Visible = true; break; @@ -242,7 +262,7 @@ { contentPageView.PageChange = (sender, e) => { - if(contentPageView.PageIndex == 0) + if (contentPageView.PageIndex == 0) { btnRoomTilte.IsSelected = true; btnRoomTilte.TextSize = CSS_FontSize.HeadlineFontSize; @@ -296,29 +316,45 @@ { btn.MouseUpEventHandler = (sender, e) => { btn.IsSelected = !btn.IsSelected; - switch(functionCategory) + var onoff = btn.IsSelected ? "on" : "off"; + switch (functionCategory) { case ShowFunction.AC: - foreach(var f in DB_ResidenceData.functionList.aCs) + foreach (var f in FunctionList.List.aCs) { - f.trait_on_off.value = btn.IsSelected ? "on" : "off"; + f.trait_on_off.curValue = onoff; //Control.Send(CommandType_A.write, f); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", f.trait_on_off.value.ToString()); - Control.SendWriteCommand(f, d); + d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(f, d); } 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 DB_ResidenceData.functionList.lights) + foreach (var f in FunctionList.List.lights) { - f.trait_on_off.value = btn.IsSelected ? "on" : "off"; - //Control.Send(CommandType_A.write, f); + f.trait_on_off.curValue = onoff; Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", f.trait_on_off.value.ToString()); - Control.SendWriteCommand(f, d); + 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; } @@ -334,37 +370,31 @@ { btnOpen.MouseUpEventHandler = (sender, e) => { - if (btnOpen.IsSelected) - { - return; - } + DB_ResidenceData.Instance.GlobalCurtainStatus = true; btnOpen.IsSelected = true; btnClose.IsSelected = false; - foreach (var f in DB_ResidenceData.functionList.curtains) + foreach (var f in FunctionList.List.curtains) { - f.trait_on_off.value = "on"; - //Control.Send(CommandType_A.write, f); + 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.value.ToString()); - Control.SendWriteCommand(f, d); + d.Add("on_off", f.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(f, d); } }; btnClose.MouseUpEventHandler = (sender, e) => { - if (btnClose.IsSelected) - { - return; - } + DB_ResidenceData.Instance.GlobalCurtainStatus = false; btnClose.IsSelected = true; btnOpen.IsSelected = false; - foreach (var f in DB_ResidenceData.functionList.curtains) + foreach (var f in FunctionList.List.curtains) { - f.trait_on_off.value = "off"; - //Control.Send(CommandType_A.write, f); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", f.trait_on_off.value.ToString()); - Control.SendWriteCommand(f, d); + f.trait_on_off.curValue = "off"; + f.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