From 330e3ae4cdd1e9facb14b6ea2b3e609166c04fd3 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 12 一月 2021 16:00:27 +0800
Subject: [PATCH] 2021-1-12-1
---
HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs | 211 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 142 insertions(+), 69 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs
index db6eb88..f4713bc 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs
@@ -17,7 +17,7 @@
/// <param name="function"></param>
public static void UpdataInfo(Function function)
{
- Application.RunOnMainThread(() => {
+ Application.RunOnMainThread((Action)(() => {
if (bodyView == null)
return;
try
@@ -47,20 +47,20 @@
vv = ShowFunction.Electric;
break;
}
- UpdataFunctionOnCount(vv, function.functionType);
+ UpdataFunctionOnCount(vv, function.spk);
UpdataCloseAllButton(function);
}
catch
{
}
- });
+ }));
}
/// <summary>
/// 鏇存柊鍔熻兘鎵撳紑鏁伴噺
/// </summary>
/// <param name="functionCategory"></param>
- static void UpdataFunctionOnCount(ShowFunction functionCategory, FunctionType functionType)
+ static void UpdataFunctionOnCount(ShowFunction functionCategory, string functionType)
{
try
{
@@ -192,7 +192,7 @@
{
continue;
}
- var ssd = r.GetRoomFunctions(false).FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on" && obj.functionCategory != FunctionCategory.Scene);
+ var ssd = r.GetRoomFunctions(false).FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on");
var sss = ssd.Count;
if (sss == 0)
{
@@ -222,11 +222,6 @@
{
foreach (var f in room.GetRoomFunctions(false))
{
- if (f.functionCategory == FunctionCategory.Scene)
- {
- continue;
- }
-
f.trait_on_off.curValue = "off";
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("on_off", f.trait_on_off.curValue.ToString());
@@ -249,10 +244,6 @@
};
foreach (var f in room.GetRoomFunctions(false))
{
- if (f.functionCategory == FunctionCategory.Scene)
- {
- continue;
- }
if (f.trait_on_off.curValue.ToString() == "on")
{
btn.Visible = true;
@@ -332,62 +323,120 @@
/// <summary>
/// 鍏抽棴鎵撳紑鍏ㄩ儴閫変腑绫诲瀷鍔熻兘
/// </summary>
- void LoadEvent_SwitchFunction(Button btn, ShowFunction functionCategory)
+ void LoadEvent_SwitchFunction(Button btn, ShowFunction functionCategory,FrameLayout view)
{
btn.MouseUpEventHandler = (sender, e) => {
btn.IsSelected = !btn.IsSelected;
var onoff = btn.IsSelected ? "on" : "off";
- switch (functionCategory)
+ var waitPage = new Loading();
+ view.AddChidren(waitPage);
+ waitPage.BackgroundColor = 0x00000000;
+ waitPage.Start("");
+ new System.Threading.Thread(() =>
{
- case ShowFunction.AC:
- foreach (var f in FunctionList.List.aCs)
+ try
+ {
+ if (DB_ResidenceData.Instance.GatewayType == 0 && !Control.Ins.IsRemote)
{
- f.trait_on_off.curValue = onoff;
- //Control.Send(CommandType_A.write, f);
- Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString());
- Control.Ins.SendWriteCommand(f, d);
+ switch (functionCategory)
+ {
+ case ShowFunction.AC:
+ foreach (var f in FunctionList.List.aCs)
+ {
+ f.trait_on_off.curValue = onoff;
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(f, d);
+ System.Threading.Thread.Sleep(100);
+ }
+ break;
+ case ShowFunction.FloorHeating:
+ foreach (var f in FunctionList.List.floorHeatings)
+ {
+ f.trait_on_off.curValue = onoff;
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(f, d);
+ System.Threading.Thread.Sleep(100);
+ }
+ break;
+ case ShowFunction.Light:
+ foreach (var f in FunctionList.List.lights)
+ {
+ f.trait_on_off.curValue = onoff;
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(f, d);
+ System.Threading.Thread.Sleep(100);
+ }
+ break;
+ case ShowFunction.Electric:
+ foreach (var f in FunctionList.List.electricals)
+ {
+ f.trait_on_off.curValue = onoff;
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(f, d);
+ System.Threading.Thread.Sleep(100);
+ }
+ break;
+ }
}
- break;
- case ShowFunction.FloorHeating:
- foreach (var f in FunctionList.List.floorHeatings)
+ else
{
- f.trait_on_off.curValue = onoff;
- Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString());
- Control.Ins.SendWriteCommand(f, d);
- }
- break;
- case ShowFunction.Curtain:
- //foreach (var f in FunctionList.List.curtains)
- //{
- // f.trait_on_off.value = onoff;
- // //Control.Send(CommandType_A.write, f);
- // Dictionary<string, string> d = new Dictionary<string, string>();
- // d.Add("percent", "100");
- // Control.SendWriteCommand(f, d);
- //}
- break;
- case ShowFunction.Light:
- foreach (var f in FunctionList.List.lights)
- {
- f.trait_on_off.curValue = onoff;
- Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString());
- Control.Ins.SendWriteCommand(f, d);
- }
- break;
- case ShowFunction.Electric:
- foreach (var f in FunctionList.List.electricals)
- {
- f.trait_on_off.curValue = onoff;
- Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add(FunctionAttributeKey.OnOff, f.trait_on_off.curValue.ToString());
- Control.Ins.SendWriteCommand(f, d);
- }
- break;
- }
+ switch (functionCategory)
+ {
+ case ShowFunction.AC:
+ List<Function> acList = new List<Function>();
+ foreach(var f in FunctionList.List.aCs)
+ {
+ acList.Add(f);
+ }
+ Control.Ins.SwtichFunctions(onoff == "on", acList);
+ break;
+ case ShowFunction.FloorHeating:
+ List<Function> fhList = new List<Function>();
+ foreach (var f in FunctionList.List.floorHeatings)
+ {
+ fhList.Add(f);
+ }
+ Control.Ins.SwtichFunctions(onoff == "on", fhList);
+ break;
+ case ShowFunction.Light:
+ List<Function> lightList = new List<Function>();
+ foreach (var f in FunctionList.List.lights)
+ {
+ lightList.Add(f);
+ }
+ Control.Ins.SwtichFunctions(onoff == "on", lightList);
+ break;
+ case ShowFunction.Electric:
+ List<Function> eleList = new List<Function>();
+ foreach (var f in FunctionList.List.electricals)
+ {
+ eleList.Add(f);
+ }
+ Control.Ins.SwtichFunctions(onoff == "on", eleList);
+ break;
+ }
+
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"{functionCategory}鍏ㄥ紑鍏ㄥ叧澶辫触:{ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ waitPage.RemoveFromParent();
+ });
+ }
+ })
+ { IsBackground = true, Priority = System.Threading.ThreadPriority.AboveNormal }.Start();
};
}
@@ -395,21 +444,45 @@
/// <summary>
/// 绐楀笜鍏ㄥ紑鍏ㄥ叧
/// </summary>
- void LoadEvent_CurtainSwitch(Button btnClose, Button btnOpen)
+ void LoadEvent_CurtainSwitch(Button btnClose, Button btnOpen,FrameLayout view)
{
btnOpen.MouseUpEventHandler = (sender, e) =>
{
DB_ResidenceData.Instance.GlobalCurtainStatus = true;
btnOpen.IsSelected = true;
btnClose.IsSelected = false;
- foreach (var f in FunctionList.List.curtains)
+ var waitPage = new Loading();
+ waitPage.BackgroundColor = 0x00000000;
+ view.AddChidren(waitPage);
+ waitPage.Start("");
+ new System.Threading.Thread(() =>
{
- f.trait_on_off.curValue = "on";
- f.percent = 100;
- Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add("on_off", f.trait_on_off.curValue.ToString());
- Control.Ins.SendWriteCommand(f, d);
- }
+ try
+ {
+ foreach (var f in FunctionList.List.curtains)
+ {
+ f.trait_on_off.curValue = "on";
+ f.percent = 100;
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("on_off", f.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(f, d);
+ System.Threading.Thread.Sleep(100);
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"绐楀笜鍏ㄥ紑鍏ㄥ叧澶辫触:{ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ waitPage.RemoveFromParent();
+ });
+ }
+ })
+ { IsBackground = true, Priority = System.Threading.ThreadPriority.AboveNormal }.Start();
};
btnClose.MouseUpEventHandler = (sender, e) =>
--
Gitblit v1.8.0