| | |
| | | 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 |
| | |
| | | /// 更新功能打开数量 |
| | | /// </summary> |
| | | /// <param name="functionCategory"></param> |
| | | static void UpdataFunctionOnCount(FunctionCategory functionCategory, FunctionType functionType) |
| | | static void UpdataFunctionOnCount(ShowFunction functionCategory, FunctionType functionType) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | 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++) |
| | |
| | | string btnText = "0"; |
| | | switch (functionCategory) |
| | | { |
| | | case FunctionCategory.Thermostat: |
| | | switch (functionType) |
| | | { |
| | | case FunctionType.FloorHeating: |
| | | case ShowFunction.FloorHeating: |
| | | btnText = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); |
| | | break; |
| | | case FunctionType.AC: |
| | | case ShowFunction.AC: |
| | | btnText = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count.ToString(); |
| | | break; |
| | | } |
| | | break; |
| | | case FunctionCategory.Curtain: |
| | | 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; |
| | | } |
| | |
| | | var openCount = 0; |
| | | switch (functionCategory) |
| | | { |
| | | case FunctionCategory.Thermostat: |
| | | switch (functionType) |
| | | { |
| | | case FunctionType.FloorHeating: |
| | | case ShowFunction.FloorHeating: |
| | | openCount = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; |
| | | break; |
| | | case FunctionType.AC: |
| | | case ShowFunction.AC: |
| | | openCount = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; |
| | | break; |
| | | } |
| | | break; |
| | | case FunctionCategory.Curtain: |
| | | 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; |
| | | } |
| | |
| | | Control.Ins.SendWriteCommand(f, d); |
| | | } |
| | | 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); |
| | | } |
| | | break; |
| | | case ShowFunction.Curtain: |
| | | //foreach (var f in FunctionList.List.curtains) |
| | | //{ |
| | |
| | | } |
| | | } |
| | | } |
| | | |