From e6a26ee148587327478d9a82624a820c907b6e16 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 04 十一月 2020 14:58:15 +0800 Subject: [PATCH] 20201104 --- HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs | 153 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 98 insertions(+), 55 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs index 8a2c4e9..e024ef2 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs @@ -14,7 +14,7 @@ /// 鏇存柊鍔熻兘鐘舵�� /// </summary> /// <param name="updataFunction"></param> - public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView) + public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView,Room room=null) { try { @@ -24,49 +24,64 @@ { return; } - switch (updataFunction.functionCategory) + if(!scrolView.ScrollEnabled) { - case FunctionType.Light: - var uLight = updataFunction as Light; - for (int i = 0; i < scrolView.ChildrenCount; i++) + return; + } + if (room != null) + { + if (!updataFunction.roomIdList.Contains(room.sid)) + { + return; + } + } + for (int i = 0; i < scrolView.ChildrenCount; i++) + { + if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "") + { + continue; + } + var viewTag = scrolView.GetChildren(i).Tag.ToString(); + if (viewTag == updataFunction.sid) + { + if (scrolView.GetChildren(i).Tag != null && scrolView.GetChildren(i).Tag.ToString() == updataFunction.sid) { - if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "") + var fcView = scrolView.GetChildren(i) as FrameLayout; + for (int j = 0; j < fcView.ChildrenCount; j++) { - continue; - } - var viewTag = scrolView.GetChildren(i).Tag.ToString(); - if (viewTag == updataFunction.functionCategory.ToString() + "-" + updataFunction.functionType + "-" + updataFunction.sid) - { - if (scrolView.GetChildren(i).GetType().Name == "FunctionControlZone") + if (fcView.GetChildren(j).Tag == null) + continue; + var cTag = fcView.GetChildren(j).Tag.ToString(); + switch (updataFunction.functionCategory) { - var fcView = scrolView.GetChildren(i) as FrameLayout; - for (int j = 0; j < fcView.ChildrenCount; j++) - { - if (fcView.GetChildren(j).Tag == null) - continue; - var cTag = fcView.GetChildren(j).Tag.ToString(); - if (cTag == updataFunction.functionType + "_Switch_" + updataFunction.sid) + case FunctionCategory.Light: + case FunctionCategory.Thermostat: + #region 鎸夐挳鐘舵�佹洿鏂� + if (cTag == updataFunction.sid + "_Switch") { try { - (fcView.GetChildren(j) as Button).IsSelected = uLight.on_off == 1; + (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.value.ToString() == "on"; } catch (Exception ex) { MainPage.Log($"{this.GetType()} error 0 : {ex.Message}"); } } - else if (cTag == updataFunction.functionType + "_DimmerBar_" + updataFunction.sid) + #endregion + #region 璋冨厜鐘舵�佽繘搴︽洿鏂� + else if (cTag == updataFunction.sid + "_DimmerBar") { try { - if (uLight.on_off == 1) + if (updataFunction.trait_on_off.value.ToString() == "on") { (fcView.GetChildren(j) as DiyImageSeekBar).Progress = (updataFunction as Light).brightness; (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; } else { + (fcView.GetChildren(j) as DiyImageSeekBar).Progress = (updataFunction as Light).brightness; (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.PromptingColor2; } } @@ -75,11 +90,69 @@ MainPage.Log($"{this.GetType()} error 1 : {ex.Message}"); } } - } + #endregion + #region 鍔熻兘鐘舵�佷俊鎭洿鏂� + else if (cTag == updataFunction.functionType + "_laststates_" + updataFunction.sid) + { + try + { + (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.value.ToString() == "on"; + (fcView.GetChildren(j) as Button).Text = updataFunction.lastState; + } + catch (Exception ex) + { + MainPage.Log($"{this.GetType()} error 2 : {ex.Message}"); + } + } + break; + #endregion + case FunctionCategory.Curtain: + #region 绐楀笜鏇存柊 + var uCurtain = updataFunction as Curtain; + if (cTag == updataFunction.functionType + "_off_" + updataFunction.sid) + { + try + { + (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.value.ToString() == "off"; + } + catch (Exception ex) + { + MainPage.Log($"{this.GetType()} error 3 : {ex.Message}"); + } + } + else + { + try + { + (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.value.ToString() == "on"; + } + catch (Exception ex) + { + MainPage.Log($"{this.GetType()} error 4 : {ex.Message}"); + } + } + #endregion + break; + case FunctionCategory.Music: + #region 闊充箰鏇存柊 + var uMusic = updataFunction as Music.A31MusicModel; + if (cTag == updataFunction.functionType + "_State_" + updataFunction.sid) + { + try + { + (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play" ; + } + catch (Exception ex) + { + MainPage.Log($"{this.GetType()} error 3 : {ex.Message}"); + } + } + #endregion + break; } } } - break; + } } }); } @@ -89,35 +162,5 @@ } } - - - //public static void UpdataLightStates(Light uLight) - //{ - // Application.RunOnMainThread(() => - // { - // if (bodyDiv == null) - // return; - // if(uLight.sid == function.sid&& uLight.functionType == function.functionType) - // { - // for (int i = 0; i < bodyDiv.ChildrenCount; i++) - // { - // var c1 = bodyDiv.GetChildren(i); - // if (c1.Tag != null && c1.Tag.ToString() == "") - // { - // if (c1.Tag.ToString() == function.functionType + "_Switch_" + function.sid) - // { - // var btn = c1 as Button; - // btn.IsSelected = uLight.on_off == 1; - // } - // else if (c1.Tag.ToString() == function.functionType + "_DimmerBar_" + function.sid) - // { - // var bar = c1 as DiyImageSeekBar; - // bar.ProgressBarColor = uLight.on_off == 1 ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2; - // } - // } - // } - // } - // }); - //} - } + } } -- Gitblit v1.8.0