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 | 150 +++++++++++++++++++++++++++-----------------------
1 files changed, 81 insertions(+), 69 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
index b79f289..b86e4c5 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -14,15 +14,27 @@
/// 鏇存柊鍔熻兘鐘舵��
/// </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
+ 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.roomIds.Contains(room.roomId))
+ {
+ return;
+ }
}
for (int i = 0; i < scrolView.ChildrenCount; i++)
{
@@ -31,9 +43,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++)
@@ -41,16 +53,18 @@
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.functionType + "_Switch_" + updataFunction.sid)
+ if (cTag == updataFunction.sid + "_Switch")
{
try
{
- (fcView.GetChildren(j) as Button).IsSelected = updataFunction.on_off == "on";
+ (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.curValue.ToString() == "on";
}
catch (Exception ex)
{
@@ -59,18 +73,17 @@
}
#endregion
#region 璋冨厜鐘舵�佽繘搴︽洿鏂�
- else if (cTag == updataFunction.functionType + "_DimmerBar_" + updataFunction.sid)
+ else if (cTag == updataFunction.sid + "_DimmerBar")
{
try
{
- if (updataFunction.on_off == "on")
+ (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;
}
}
@@ -81,11 +94,11 @@
}
#endregion
#region 鍔熻兘鐘舵�佷俊鎭洿鏂�
- else if (cTag == updataFunction.functionType + "_laststates_" + updataFunction.sid)
+ else if (cTag == updataFunction.spk + "_laststates_" + updataFunction.sid)
{
try
{
- (fcView.GetChildren(j) as Button).IsSelected = updataFunction.on_off == "on";
+ (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.curValue.ToString() == "on";
(fcView.GetChildren(j) as Button).Text = updataFunction.lastState;
}
catch (Exception ex)
@@ -94,30 +107,60 @@
}
}
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)
+ {
+ int percent = 0;
+ int.TryParse(percentString, out percent);
+ if (percent == 0)
+ {
+ if (cTag == updataFunction.sid + "_off")
+ {
+ try
+ {
+ (fcView.GetChildren(j) as Button).IsSelected = true;
+ }
+ catch { }
+ }
+ else
+ {
+ (fcView.GetChildren(j) as Button).IsSelected = false;
+ }
+ }
+ else
+ {
+ if (cTag == updataFunction.sid + "_on")
+ {
+ try
+ {
+ (fcView.GetChildren(j) as Button).IsSelected = true;
+ }
+ catch { }
+ }
+ else
+ {
+ (fcView.GetChildren(j) as Button).IsSelected = false;
+ }
+ }
+ }
+ #endregion
+ break;
+ case FunctionCategory.Music:
+ #region 闊充箰鏇存柊
+ var uMusic = updataFunction as Music.A31MusicModel;
+ if (cTag == updataFunction.spk + "_State_" + updataFunction.sid)
{
try
{
- (fcView.GetChildren(j) as Button).IsSelected = uCurtain.on_off == "off";
+ (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play";
}
catch (Exception ex)
{
MainPage.Log($"{this.GetType()} error 3 : {ex.Message}");
- }
- }
- else
- {
- try
- {
- (fcView.GetChildren(j) as Button).IsSelected = uCurtain.on_off == "on";
- }
- catch (Exception ex)
- {
- MainPage.Log($"{this.GetType()} error 4 : {ex.Message}");
}
}
#endregion
@@ -127,43 +170,12 @@
}
}
}
- });
- }
- 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