From a1b0ab7044100daaa7e0f1da2d2ca45e38098963 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 29 三月 2021 09:13:25 +0800
Subject: [PATCH] 2021-3-29-2
---
HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs | 97 ++++++++++++++++++++++++++++--------------------
1 files changed, 56 insertions(+), 41 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
old mode 100755
new mode 100644
index 2626c25..b86e4c5
--- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -14,17 +14,18 @@
/// 鏇存柊鍔熻兘鐘舵��
/// </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;
}
@@ -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,12 @@
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:
+ case FunctionCategory.Electric:
#region 鎸夐挳鐘舵�佹洿鏂�
if (cTag == updataFunction.sid + "_Switch")
{
@@ -74,14 +77,13 @@
{
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 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;
}
}
@@ -92,7 +94,7 @@
}
#endregion
#region 鍔熻兘鐘舵�佷俊鎭洿鏂�
- else if (cTag == updataFunction.functionType + "_laststates_" + updataFunction.sid)
+ else if (cTag == updataFunction.spk + "_laststates_" + updataFunction.sid)
{
try
{
@@ -105,30 +107,44 @@
}
}
break;
- #endregion
+ #endregion
case FunctionCategory.Curtain:
#region 绐楀笜鏇存柊
- var uCurtain = updataFunction as Curtain;
- if (cTag == updataFunction.functionType + "_off_" + updataFunction.sid)
+ //var uCurtain = updataFunction as Curtain;
+ var percentString = updataFunction.GetAttrState(FunctionAttributeKey.Percent);
+ if (percentString != null)
{
- try
+ int percent = 0;
+ int.TryParse(percentString, out percent);
+ if (percent == 0)
{
- (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.curValue.ToString() == "off";
+ if (cTag == updataFunction.sid + "_off")
+ {
+ try
+ {
+ (fcView.GetChildren(j) as Button).IsSelected = true;
+ }
+ catch { }
+ }
+ else
+ {
+ (fcView.GetChildren(j) as Button).IsSelected = false;
+ }
}
- catch (Exception ex)
+ else
{
- 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}");
+ if (cTag == updataFunction.sid + "_on")
+ {
+ try
+ {
+ (fcView.GetChildren(j) as Button).IsSelected = true;
+ }
+ catch { }
+ }
+ else
+ {
+ (fcView.GetChildren(j) as Button).IsSelected = false;
+ }
}
}
#endregion
@@ -136,11 +152,11 @@
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 +170,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