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/2-Classification/ClassificationPageBLL.cs | 139 ++++++++++++++++++++++++++++++---------------- 1 files changed, 91 insertions(+), 48 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs index 1fdc955..5631d77 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs @@ -45,38 +45,73 @@ if (view2.GetChildren(k).GetType() == typeof(FrameLayout)) { var view3 = view2.GetChildren(j) as FrameLayout; + if(view3== null) + { + continue; + } for (var o = 0; o < view3.ChildrenCount; o++) { if (view3.GetChildren(o).GetType() == typeof(Button)) { var btn = view3.GetChildren(o) as Button; - if (btn.Tag != null && btn.Tag.ToString() == functionCategory + "_onCount") + if (btn.Tag != null) { - string btnText = "0/0"; - switch (functionCategory) + if (btn.Tag.ToString() == functionCategory + "_onCount") { - case FunctionCategory.Thermostat: - switch (functionType) - { - case FunctionType.FloorHeating: - btnText = DB_ResidenceData.residenceData.functionList.floorHeatings.FindAll((obj) => obj.on_off == "on").Count + "/" + DB_ResidenceData.residenceData.functionList.floorHeatings.Count; - break; - case FunctionType.AC: - btnText = DB_ResidenceData.residenceData.functionList.aCs.FindAll((obj) => obj.on_off == "on").Count + "/" + DB_ResidenceData.residenceData.functionList.aCs.Count; - break; - } - break; - case FunctionCategory.Curtain: - btnText = DB_ResidenceData.residenceData.functionList.curtains.FindAll((obj) => obj.on_off == "on").Count + "/" + DB_ResidenceData.residenceData.functionList.curtains.Count; - break; - case FunctionCategory.Light: - btnText = DB_ResidenceData.residenceData.functionList.lights.FindAll((obj) => obj.on_off == "on").Count + "/" + DB_ResidenceData.residenceData.functionList.lights.Count; - break; - case FunctionCategory.Electrical: - btnText = DB_ResidenceData.residenceData.functionList.electricals.FindAll((obj) => obj.on_off == "on").Count + "/" + DB_ResidenceData.residenceData.functionList.electricals.Count; - break; + string btnText = "0"; + switch (functionCategory) + { + case FunctionCategory.Thermostat: + switch (functionType) + { + case FunctionType.FloorHeating: + btnText = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count.ToString(); + break; + case FunctionType.AC: + btnText = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.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(); + break; + case FunctionCategory.Light: + btnText = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count.ToString(); + break; + case FunctionCategory.Electrical: + btnText = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count.ToString(); + break; + } + btn.Text = btnText; } - btn.Text = btnText; + else if (btn.Tag.ToString() == functionCategory + "_AllControl") + { + var openCount = 0; + switch (functionCategory) + { + case FunctionCategory.Thermostat: + switch (functionType) + { + case FunctionType.FloorHeating: + openCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + break; + case FunctionType.AC: + openCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + break; + } + break; + case FunctionCategory.Curtain: + openCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + break; + case FunctionCategory.Light: + openCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + break; + case FunctionCategory.Electrical: + openCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; + break; + } + btn.IsSelected = openCount != 0; + } } } } @@ -111,7 +146,7 @@ var btn = view1.GetChildren(j) as Button; if (btn.Tag != null && btn.Tag.ToString() == "AllClose") { - if (function.on_off == "on") + if (function.trait_on_off.value.ToString() == "on") { btn.Visible = true; } @@ -119,8 +154,16 @@ { foreach (var rId in function.roomIdList) { - var r = DB_ResidenceData.residenceData.rooms.Find(s => s.sid == rId); - var ssd = r.functions.FindAll((obj) => obj.on_off == "on" && obj.functionCategory != FunctionCategory.Scene); + if(rId == null) + { + continue; + } + var r = DB_ResidenceData.rooms.Find(s => s.sid == rId); + if(r == null) + { + continue; + } + var ssd = r.GetRoomFunctions(false).FindAll((obj) => obj.trait_on_off.value.ToString() == "on" && obj.functionCategory != FunctionCategory.Scene); var sss = ssd.Count; if (sss == 0) { @@ -146,29 +189,29 @@ { Action action = () => { - foreach (var f in room.functions) + foreach (var f in room.GetRoomFunctions(false)) { if (f.functionCategory == FunctionCategory.Scene) { continue; } - f.on_off = "off"; + 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.on_off.ToString()); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", f.trait_on_off.value.ToString()); Control.SendWriteCommand(f, d); } btn.Visible = false; }; new PublicAssmebly().TipMsg(StringId.Tip, StringId.TipCloseAllFunctionInRoom, action); }; - foreach (var f in room.functions) + foreach (var f in room.GetRoomFunctions(false)) { if (f.functionCategory == FunctionCategory.Scene) { continue; } - if (f.on_off == "on") + if (f.trait_on_off.value.ToString() == "on") { btn.Visible = true; break; @@ -254,12 +297,12 @@ switch(functionCategory) { case ShowFunction.AC: - foreach(var f in DB_ResidenceData.residenceData.functionList.aCs) + foreach(var f in DB_ResidenceData.functionList.aCs) { - f.on_off = btn.IsSelected ? "on" : "off"; + f.trait_on_off.value = btn.IsSelected ? "on" : "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.on_off.ToString()); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", f.trait_on_off.value.ToString()); Control.SendWriteCommand(f, d); } break; @@ -267,12 +310,12 @@ break; case ShowFunction.Light: - foreach (var f in DB_ResidenceData.residenceData.functionList.lights) + foreach (var f in DB_ResidenceData.functionList.lights) { - f.on_off = btn.IsSelected ? "on" : "off"; + f.trait_on_off.value = btn.IsSelected ? "on" : "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.on_off.ToString()); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", f.trait_on_off.value.ToString()); Control.SendWriteCommand(f, d); } break; @@ -295,12 +338,12 @@ } btnOpen.IsSelected = true; btnClose.IsSelected = false; - foreach (var f in DB_ResidenceData.residenceData.functionList.curtains) + foreach (var f in DB_ResidenceData.functionList.curtains) { - f.on_off = "on"; + f.trait_on_off.value = "on"; //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.on_off.ToString()); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", f.trait_on_off.value.ToString()); Control.SendWriteCommand(f, d); } }; @@ -313,12 +356,12 @@ } btnClose.IsSelected = true; btnOpen.IsSelected = false; - foreach (var f in DB_ResidenceData.residenceData.functionList.curtains) + foreach (var f in DB_ResidenceData.functionList.curtains) { - f.on_off = "off"; + 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.on_off.ToString()); + d.Add("on_off", f.trait_on_off.value.ToString()); Control.SendWriteCommand(f, d); } }; -- Gitblit v1.8.0