From f0159007be3597161647bffdd48f2426d47ca1c4 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 24 十二月 2020 21:33:08 +0800
Subject: [PATCH] 主页下拉刷行
---
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 496 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 445 insertions(+), 51 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
old mode 100644
new mode 100755
index 606fa03..f1c4814
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -15,6 +15,12 @@
for (int i = 0; i < Logic.currlogic.input.Count; i++)
{
Input inputCondition = Logic.currlogic.input[i];
+ if (inputCondition == null)
+ {
+ //闃叉鏈夌殑绌哄璞★紱
+ //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛�
+ continue;
+ }
///鍚勭鏉′欢鐨刅iew
LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView();
inputView.FLayoutView(viewLayout);
@@ -173,10 +179,16 @@
/// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param>
public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout)
{
-
+
for (int i = 0; i < Logic.currlogic.output.Count; i++)
{
Output outputTarget = Logic.currlogic.output[i];
+ if (outputTarget == null)
+ {
+ //闃叉鏈夌殑绌哄璞★紱
+ //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛�
+ continue;
+ }
///鍚勭鏉′欢鐨刅iew
LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView();
targetView.FLayoutView(viewLayout);
@@ -230,36 +242,28 @@
{
string on_off = GetKeyValue("on_off", dicList);
string brightness = GetKeyValue("brightness", dicList);
- if (on_off != "")
+ if (on_off == "on" && brightness != "")
{
- if (on_off == "on")
- {
- stateStr = Language.StringByID(StringId.onLogic);
-
- }
- else
- {
- stateStr = Language.StringByID(StringId.offLogic);
-
- }
+ stateStr = Language.StringByID(StringId.onLogic) + brightness + "%";
}
- if (brightness != "")
+ else if (on_off == "on")
{
- stateStr += brightness + "%";
+ stateStr = Language.StringByID(StringId.onLogic);
}
- if (on_off != "" && on_off == "off")
+ else if (on_off == "off")
{
- targetView.btnState.Text = Language.StringByID(StringId.offLogic);
+ stateStr = Language.StringByID(StringId.offLogic);
}
- else
+ else if (brightness != "")
{
- targetView.btnState.Text = stateStr;
-
+ stateStr = brightness + "%";
}
-
+ targetView.btnState.Text = stateStr;
}
break;
case FunctionType.Curtain:
+ case FunctionType.MotorCurtain:
+ case FunctionType.RollingShutter:
{
foreach (var dic in dicList)
{
@@ -282,36 +286,6 @@
}
break;
}
- }
- targetView.btnState.Text = stateStr;
- }
- break;
- case FunctionType.MotorCurtain:
- case FunctionType.RollingShutter:
- {
- string on_off = GetKeyValue("on_off", dicList);
- string percent = GetKeyValue("percent", dicList);
-
- if (on_off == "off")
- {
- stateStr = Language.StringByID(StringId.offLogic);
- }
- else if (on_off == "stop")
- {
- stateStr = Language.StringByID(StringId.stop);
- }
- else if (on_off == "on" && percent != "")
- {
- stateStr = Language.StringByID(StringId.onLogic) + percent + "%";
-
- }
- else if (on_off == "on")
- {
- stateStr = Language.StringByID(StringId.onLogic);
- }
- else if (percent != "")
- {
- stateStr = percent + "%";
}
targetView.btnState.Text = stateStr;
}
@@ -588,14 +562,274 @@
};
}
}
+ /// <summary>
+ /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ /// </summary>
+ /// <param name="device">缂栬緫璁惧</param>
+ /// <param name="button1">鏄剧ずBtn</param>
+ /// <param name="button2">鏄剧ずBtn</param>
+ /// <param name="button3">鏄剧ずBtn</param>
+ /// <param name="button4">鏄剧ずBtn</param>
+ public static void EditState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4)
+ {
+ switch (device.functionType)
+ {
+ //寮�鍏崇伅鍏�
+ case FunctionType.Relay:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "on")
+ {
+ button1.Text = Language.StringByID(StringId.onLogic);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.offLogic);
+ }
+ }
+ }
+ break;
+ case FunctionType.Dimmer:
+ case FunctionType.RGB:
+ case FunctionType.RGBW:
+ case FunctionType.ColorTemperature:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ switch (dic["key"])
+ {
+ case "on_off":
+ {
+ if (value == "on")
+ {
+ button1.Text = Language.StringByID(StringId.onLogic);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.offLogic);
+ }
+ }
+ break;
+ case "brightness":
+ {
+ button2.Text = value + "%";
+ }
+ break;
+ }
+
+ }
+ }
+ break;
+ case FunctionType.Curtain:
+ case FunctionType.MotorCurtain:
+ case FunctionType.RollingShutter:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ switch (value)
+ {
+ case "on":
+ {
+ button1.Text = Language.StringByID(StringId.onLogic);
+ }
+ break;
+ case "off":
+ {
+ button1.Text = Language.StringByID(StringId.offLogic);
+ }
+ break;
+ case "stop":
+ {
+ button1.Text = Language.StringByID(StringId.stop);
+ }
+ break;
+ }
+ }
+ }
+ break;
+ case FunctionType.AC:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ switch (dic["key"])
+ {
+ case "on_off":
+ {
+ switch (value)
+ {
+ case "on":
+ {
+ button1.Text = Language.StringByID(StringId.onLogic);
+ }
+ break;
+ case "off":
+ {
+ button1.Text = Language.StringByID(StringId.offLogic);
+ }
+ break;
+ }
+ }
+ break;
+ case "set_temp":
+ {
+ button2.Text = value + "鈩�";
+ }
+ break;
+ case "mode":
+ {
+ switch (value)
+ {
+ case "cool":
+ {
+ button3.Text = Language.StringByID(StringId.coolLogic);
+ }
+ break;
+ case "heat":
+ {
+ button3.Text = Language.StringByID(StringId.heatingLogic);
+ }
+ break;
+ case "auto":
+ {
+ button3.Text = Language.StringByID(StringId.autoLogic);
+ }
+ break;
+ case "dry":
+ {
+ button3.Text = Language.StringByID(StringId.dehumidifyLogic);
+ }
+ break;
+ }
+
+
+
+ }
+ break;
+ case "fan":
+ {
+ switch (value)
+ {
+ case "high":
+ {
+ button4.Text = Language.StringByID(StringId.HighWindSpeed);
+ }
+ break;
+ case "medium":
+ {
+ button4.Text = Language.StringByID(StringId.MiddleWindSpeed);
+ }
+ break;
+ case "low":
+ {
+ button4.Text = Language.StringByID(StringId.LowWindSpeed);
+ }
+ break;
+ case "auto":
+ {
+ button4.Text = Language.StringByID(StringId.Auto);
+ }
+ break;
+ }
+
+
+ }
+ break;
+
+
+ }
+
+ }
+
+ }
+ break;
+ case FunctionType.FloorHeating:
+ {
+
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ switch (dic["key"])
+ {
+ case "on_off":
+ {
+ switch (value)
+ {
+ case "on":
+ {
+ button1.Text = Language.StringByID(StringId.onLogic);
+ }
+ break;
+ case "off":
+ {
+ button1.Text = Language.StringByID(StringId.offLogic);
+ }
+ break;
+ }
+ }
+ break;
+ case "set_temp":
+ {
+ button2.Text = value + "鈩�";
+ }
+ break;
+ case "mode":
+ {
+ switch (value)
+ {
+ case "day":
+ {
+ button3.Text = Language.StringByID(StringId.dayMode);
+ }
+ break;
+ case "night":
+ {
+ button3.Text = Language.StringByID(StringId.nightMode);
+ }
+ break;
+
+ case "away":
+ {
+ button3.Text = Language.StringByID(StringId.leaveMode);
+ }
+ break;
+ case "normal":
+ {
+ button3.Text = Language.StringByID(StringId.ordinaryMode);
+ }
+ break;
+ case "timer":
+ {
+ button3.Text = Language.StringByID(StringId.timeMode);
+ }
+ break;
+ }
+
+
+
+ }
+ break;
+
+ }
+
+ }
+
+ }
+ break;
+ }
+ }
/// <summary>
/// 鑾峰彇value閿��
/// </summary>
/// <param name="keyValue"></param>
/// <param name="dicList"></param>
/// <returns></returns>
- private static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList)
+ public static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList)
{
string valueStr = "";
@@ -610,5 +844,165 @@
}
return valueStr;
}
+
+ /// <summary>
+ ///鑾峰彇鑷姩鍖栧悕绉�
+ /// </summary>
+ /// <returns> 鏂板缓鑷姩鍖栧懡鍚嶈鍒�</returns>
+ public static string GetLogicName(Logic logic)
+ {
+
+ string name = "";
+ try
+ {
+ //榛樿鍙栫涓�涓潯浠�
+ Input inputCondition = logic.input[0];
+ //鏄剧ず鏉′欢鍚勭绫诲瀷鐘舵��
+ switch (inputCondition.condition_type)
+ {
+ case "1":
+ {
+ name = Language.StringByID(StringId.hour) + "-";
+ }
+ break;
+ case "2":
+ {
+ name = Language.StringByID(StringId.timeHorizon) + "-";
+
+ }
+ break;
+ case "3":
+ {
+ //鐢╯id鎵惧埌璁惧锛�
+ var device = LogicMethod.GetDevice(inputCondition.sid);
+ name = device.name + "-";
+ }
+ break;
+
+ }
+ //榛樿鍙栫涓�涓洰鏍�
+ Output outputTarget = logic.output[0];
+ List<Dictionary<string, string>> dicList = outputTarget.status as List<Dictionary<string, string>>;
+ //鏄剧ず杈撳嚭鏉′欢鍚勭绫诲瀷鐘舵��
+ switch (outputTarget.target_type)
+ {
+ case "1":
+ {
+ //鐢╯id鎵惧埌璁惧锛�
+ var device = LogicMethod.GetDevice(outputTarget.sid);
+ //鏄剧ず璁惧鍚嶇О
+ name += device.name;
+ string stateStr = "";
+ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
+ switch (device.functionType)
+ {
+ case FunctionType.Relay:
+ {//寮�鍏崇伅
+
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "on")
+ {
+ stateStr = Language.StringByID(StringId.onLogic);
+
+ }
+ else
+ {
+ stateStr = Language.StringByID(StringId.offLogic);
+ }
+ }
+ }
+ break;
+ case FunctionType.RGB:
+ case FunctionType.RGBW:
+ case FunctionType.ColorTemperature:
+ case FunctionType.Dimmer:
+ {
+ string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList);
+ string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList);
+ if (on_off == "on" && brightness != "")
+ {
+ stateStr = Language.StringByID(StringId.onLogic) + brightness + "%";
+ }
+ else if (on_off == "on")
+ {
+ stateStr = Language.StringByID(StringId.onLogic);
+ }
+ else if (on_off == "off")
+ {
+ stateStr = Language.StringByID(StringId.offLogic);
+ }
+ else if (brightness != "")
+ {
+ stateStr = brightness + "%";
+ }
+ }
+ break;
+ case FunctionType.Curtain:
+ case FunctionType.MotorCurtain:
+ case FunctionType.RollingShutter:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ switch (value)
+ {
+ case "on":
+ {
+ stateStr = Language.StringByID(StringId.onLogic);
+ }
+ break;
+ case "off":
+ {
+ stateStr = Language.StringByID(StringId.offLogic);
+ }
+ break;
+ case "stop":
+ {
+ stateStr = Language.StringByID(StringId.stop);
+ }
+ break;
+ }
+ }
+ }
+ break;
+ case FunctionType.AC:
+ case FunctionType.FloorHeating:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "on")
+ {
+ stateStr = Language.StringByID(StringId.onLogic);
+
+ }
+ else if (value == "off")
+ {
+ stateStr = Language.StringByID(StringId.offLogic);
+ }
+ }
+
+ }
+ break;
+
+ }
+ name += stateStr;
+ }
+ break;
+ case "2":
+ {
+ //鐢╯id鎵惧埌鍦烘櫙锛�
+ var scene = LogicMethod.GetSecne(outputTarget.sid);
+ name += scene.name;
+
+ }
+ break;
+ }
+ }
+ catch { }
+ return name;
+ }
}
}
--
Gitblit v1.8.0