From 631f94758c3cb42abcdda8094e77895f376eff16 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 11 一月 2021 14:53:43 +0800 Subject: [PATCH] 2021-1-12-3 --- HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs | 110 +++++++++++++++++++++++++++++++++--------------------- 1 files changed, 67 insertions(+), 43 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs index 6dcbeee..8c27dc8 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs @@ -14,23 +14,24 @@ /// 鏇存柊鍔熻兘鐘舵�� /// </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) + if (!scrolView.ScrollEnabled) { return; } if (room != null) { - if (!updataFunction.roomIds.Contains(room.uid)) + if (!updataFunction.roomIds.Contains(room.roomId)) { return; } @@ -42,9 +43,9 @@ continue; } var viewTag = scrolView.GetChildren(i).Tag.ToString(); - if (viewTag == updataFunction.sid) + if (scrolView.GetChildren(i).Tag != null && viewTag == updataFunction.spk + updataFunction.sid) { - if (scrolView.GetChildren(i).Tag != null && scrolView.GetChildren(i).Tag.ToString() == updataFunction.sid) + //if ( && scrolView.GetChildren(i).Tag.ToString() == updataFunction.sid) { var fcView = scrolView.GetChildren(i) as FrameLayout; for (int j = 0; j < fcView.ChildrenCount; j++) @@ -52,10 +53,11 @@ if (fcView.GetChildren(j).Tag == null) continue; var cTag = fcView.GetChildren(j).Tag.ToString(); - switch (updataFunction.functionCategory) + switch (updataFunction.Spk_Prefix) { case FunctionCategory.Light: - case FunctionCategory.Thermostat: + case FunctionCategory.AC: + case FunctionCategory.FloorHeat: #region 鎸夐挳鐘舵�佹洿鏂� if (cTag == updataFunction.sid + "_Switch") { @@ -92,7 +94,7 @@ } #endregion #region 鍔熻兘鐘舵�佷俊鎭洿鏂� - else if (cTag == updataFunction.functionType + "_laststates_" + updataFunction.sid) + else if (cTag == updataFunction.spk + "_laststates_" + updataFunction.sid) { try { @@ -105,42 +107,65 @@ } } break; - #endregion + #endregion case FunctionCategory.Curtain: #region 绐楀笜鏇存柊 var uCurtain = updataFunction as Curtain; - if (cTag == updataFunction.functionType + "_off_" + updataFunction.sid) + switch (uCurtain.trait_on_off.curValue.ToString()) { - try - { - (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.curValue.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.curValue.ToString() == "on"; - } - catch (Exception ex) - { - MainPage.Log($"{this.GetType()} error 4 : {ex.Message}"); - } + case "off": + if (cTag == updataFunction.sid + "_off") + { + try + { + (fcView.GetChildren(j) as Button).IsSelected = true; + } + catch { } + } + else + { + (fcView.GetChildren(j) as Button).IsSelected = false; + } + break; + case "on": + if (cTag == updataFunction.sid + "_on") + { + try + { + (fcView.GetChildren(j) as Button).IsSelected = true; + } + catch { } + } + else + { + (fcView.GetChildren(j) as Button).IsSelected = false; + } + break; + case "stop": + if (cTag == updataFunction.sid + "_stop") + { + try + { + (fcView.GetChildren(j) as Button).IsSelected = true; + } + catch { } + } + else + { + (fcView.GetChildren(j) as Button).IsSelected = false; + } + break; } #endregion break; case FunctionCategory.Music: #region 闊充箰鏇存柊 var uMusic = updataFunction as Music.A31MusicModel; - if (cTag == updataFunction.functionType + "_State_" + updataFunction.sid) + if (cTag == updataFunction.spk + "_State_" + updataFunction.sid) { try { - (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play" ; + (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play"; } catch (Exception ex) { @@ -154,13 +179,12 @@ } } } - }); - } - catch (Exception ex) - { - MainPage.Log($"RoomControlZone Updata States error : {ex.Message}"); - } + } + catch (Exception ex) + { + MainPage.Log($"RoomControlZone Updata States error : {ex.Message}"); + } + })); } - - } -} + } +} \ No newline at end of file -- Gitblit v1.8.0