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/ClassificaitionPublicBLL.cs | 230 +++++++++++++++++++++++++++----------------------------- 1 files changed, 111 insertions(+), 119 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs index 94c5722..5a6a5d3 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs @@ -14,24 +14,27 @@ /// 鏇存柊鍔熻兘鐘舵�� /// </summary> /// <param name="updataFunction"></param> - public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView,Room room=null) + public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView, Room room = null) { - try + Application.RunOnMainThread((Action)(() => { - Application.RunOnMainThread(() => + try { - if (view == null || scrolView == null) + if (view == null || scrolView == null || updataFunction == null) + { + return; + } + if (!scrolView.ScrollEnabled) { return; } if (room != null) { - if (!updataFunction.roomIdList.Contains(room.sid)) + if (!updataFunction.roomIds.Contains(room.roomId)) { return; } } - //if(updataFunction.roomIdList.Contains(Room)) for (int i = 0; i < scrolView.ChildrenCount; i++) { if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "") @@ -39,9 +42,9 @@ continue; } var viewTag = scrolView.GetChildren(i).Tag.ToString(); - if (viewTag == updataFunction.functionCategory.ToString() + "-" + updataFunction.functionType + "-" + updataFunction.sid) + if (scrolView.GetChildren(i).Tag != null && viewTag == updataFunction.spk + updataFunction.sid) { - if (scrolView.GetChildren(i).GetType().Name == "FunctionControlZone") + //if ( && scrolView.GetChildren(i).Tag.ToString() == updataFunction.sid) { var fcView = scrolView.GetChildren(i) as FrameLayout; for (int j = 0; j < fcView.ChildrenCount; j++) @@ -49,145 +52,134 @@ if (fcView.GetChildren(j).Tag == null) continue; var cTag = fcView.GetChildren(j).Tag.ToString(); - switch (updataFunction.functionCategory) + if (SPK.LightSpkList().Contains(updataFunction.spk) || + SPK.AcSpkList().Contains(updataFunction.spk) || + SPK.FhSpkList().Contains(updataFunction.spk) || + SPK.ElectricalSpkList().Contains(updataFunction.spk) || + SPK.AirFreshSpkList().Contains(updataFunction.spk)) { - case FunctionCategory.Light: - case FunctionCategory.Thermostat: - #region 鎸夐挳鐘舵�佹洿鏂� - if (cTag == updataFunction.functionType + "_Switch_" + updataFunction.sid) + #region 鎸夐挳鐘舵�佹洿鏂� + if (cTag == updataFunction.sid + "_Switch") + { + try { - try + (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.curValue.ToString() == "on"; + } + catch (Exception ex) + { + MainPage.Log($"{this.GetType()} error 0 : {ex.Message}"); + } + } + #endregion + #region 璋冨厜鐘舵�佽繘搴︽洿鏂� + else if (cTag == updataFunction.sid + "_DimmerBar") + { + try + { + (fcView.GetChildren(j) as DiyImageSeekBar).Progress = Convert.ToInt32(updataFunction.GetAttrState(FunctionAttributeKey.Brightness)); + if (updataFunction.trait_on_off.curValue.ToString() == "on") { - (fcView.GetChildren(j) as Button).IsSelected = updataFunction.on_off == "on"; + (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; } - catch (Exception ex) + else { - MainPage.Log($"{this.GetType()} error 0 : {ex.Message}"); + (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.PromptingColor2; } } - #endregion - #region 璋冨厜鐘舵�佽繘搴︽洿鏂� - else if (cTag == updataFunction.functionType + "_DimmerBar_" + updataFunction.sid) + catch (Exception ex) { - try - { - if (updataFunction.on_off == "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; - } - } - catch (Exception ex) - { - MainPage.Log($"{this.GetType()} error 1 : {ex.Message}"); - } + MainPage.Log($"{this.GetType()} error 1 : {ex.Message}"); } - #endregion - #region 鍔熻兘鐘舵�佷俊鎭洿鏂� - else if (cTag == updataFunction.functionType + "_laststates_" + updataFunction.sid) + } + #endregion + #region 鍔熻兘鐘舵�佷俊鎭洿鏂� + else if (cTag == updataFunction.spk + "_laststates_" + updataFunction.sid) + { + try { - try - { - (fcView.GetChildren(j) as Button).IsSelected = updataFunction.on_off == "on"; - (fcView.GetChildren(j) as Button).Text = updataFunction.lastState; - } - catch (Exception ex) - { - MainPage.Log($"{this.GetType()} error 2 : {ex.Message}"); - } + (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.curValue.ToString() == "on"; + (fcView.GetChildren(j) as Button).Text = updataFunction.lastState; } - break; - #endregion - case FunctionCategory.Curtain: - #region 绐楀笜鏇存柊 - var uCurtain = updataFunction as Curtain; - if (cTag == updataFunction.functionType + "_off_" + updataFunction.sid) + catch (Exception ex) + { + MainPage.Log($"{this.GetType()} error 2 : {ex.Message}"); + } + } + #endregion + } + else if (SPK.CurtainSpkList().Contains(updataFunction.spk)) + { + #region 绐楀笜鏇存柊 + var onoffString = updataFunction.GetAttrState(FunctionAttributeKey.OnOff); + if (onoffString == "stop") + { + return; + } + var percent = onoffString == "off" ? 0 : 100; + if (updataFunction.GetAttributes().Contains(FunctionAttributeKey.Percent)) + { + string percentString = updataFunction.GetAttrState(FunctionAttributeKey.Percent); + int.TryParse(percentString, out percent); + } + if (percent == 0) + { + if (cTag == updataFunction.sid + "_off") { try { - (fcView.GetChildren(j) as Button).IsSelected = uCurtain.on_off == "off"; + (fcView.GetChildren(j) as Button).IsSelected = true; } - catch (Exception ex) - { - MainPage.Log($"{this.GetType()} error 3 : {ex.Message}"); - } + catch { } } else { - try - { - (fcView.GetChildren(j) as Button).IsSelected = uCurtain.on_off == "on"; - } - catch (Exception ex) - { - MainPage.Log($"{this.GetType()} error 4 : {ex.Message}"); - } + (fcView.GetChildren(j) as Button).IsSelected = false; } - #endregion - break; - case FunctionCategory.Music: - #region 闊充箰鏇存柊 - var uMusic = updataFunction as Music.A31MusicModel; - if (cTag == updataFunction.functionType + "_State_" + updataFunction.sid) + } + else + { + if (cTag == updataFunction.sid + "_on") { try { - (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play" ; + (fcView.GetChildren(j) as Button).IsSelected = true; } - catch (Exception ex) - { - MainPage.Log($"{this.GetType()} error 3 : {ex.Message}"); - } + catch { } } - #endregion - break; + else + { + (fcView.GetChildren(j) as Button).IsSelected = false; + } + } + #endregion + } + else if (SPK.MusicSpkList().Contains(updataFunction.spk)) + { + #region 闊充箰鏇存柊 + var uMusic = updataFunction as Music.A31MusicModel; + if (cTag == updataFunction.spk + "_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 } } } } } - }); - } - catch (Exception ex) - { - MainPage.Log($"RoomControlZone Updata States error : {ex.Message}"); - } + } + catch (Exception ex) + { + MainPage.Log($"RoomControlZone Updata States error : {ex.Message}"); + } + })); } - - - - //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; - // } - // } - // } - // } - // }); - //} } -} +} \ No newline at end of file -- Gitblit v1.8.0