From 6eb21769c74cfcd10084f73ff3f212355849a3c7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 17 五月 2021 15:00:13 +0800
Subject: [PATCH] 2021-5-17-2
---
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 344 ++++++++++++++++++++++++++------------------------------
1 files changed, 160 insertions(+), 184 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 76de907..2bc0fba 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -1,6 +1,8 @@
-锘縰sing System;
+using System;
using Shared;
using System.Collections.Generic;
+using HDL_ON.Entity;
+
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
public class TargetDeviceFunList : FrameLayout
@@ -43,34 +45,93 @@
this.AddChidren(saveView.FLayoutView());
#endregion
#region 缂栬緫璁惧鐘舵��
- switch (device.functionType)
+ switch (device.spk)
{
//寮�鍏崇伅鍏� light.Switch
- case FunctionType.Dimmer:
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.ColorTemperature:
+ case SPK.LightDimming:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
{
- //2琛ㄧず(寮�锛屽叧)鍔熻兘
- SwitchBrightnessView(fLayout, device, index, edit, 2);
+ #region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
+ lightSwitchView.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(lightSwitchView.FLayoutView());
+ ///浜害
+ LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
+ brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
+ brightnessView.btnText.TextID = StringId.brightnesLogic;
+ fLayout.AddChidren(brightnessView.FLayoutView());
+ #endregion
+ #region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, lightSwitchView.btnState, 2);
+ };
+ ///浜害鐐瑰嚮浜嬩欢
+ brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
+
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
+ }
+ #endregion
}
break;
- case FunctionType.Relay:
+ case SPK.LightSwitch:
{
- //2琛ㄧず(寮�锛屽叧)鍔熻兘
- SwitchView(fLayout, device, index, edit, 2);
+ #region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
+ lightSwitchView.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(lightSwitchView.FLayoutView());
+ #endregion
+ #region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, lightSwitchView.btnState, 2);
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditState(device, index, lightSwitchView.btnState, null, null, null);
+ }
+ #endregion
}
break;
//绐楀笜
- case FunctionType.Curtain:
- case FunctionType.MotorCurtain:
- case FunctionType.RollingShutter:
+ case SPK.CurtainSwitch:
+ case SPK.CurtainTrietex:
+ case SPK.CurtainRoller:
{
- //3琛ㄧず(寮�锛屽叧锛屾殏鍋�)鍔熻兘
- SwitchView(fLayout, device, index, edit, 3);
+ #region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
+ curtainSwitchView.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(curtainSwitchView.FLayoutView());
+ #endregion
+ #region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, curtainSwitchView.btnState, 3);
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
+ }
+ #endregion
}
break;
- case FunctionType.AC:
+ case SPK.AcStandard:
{
#region 鐣岄潰
///寮�鍏�
@@ -107,19 +168,17 @@
{
///涔嬪墠鐨勭姸鎬佹枃鏈�
string tempValue = temperatureView.btnState.Text;
- LogicView.TemperatureView tempView= new LogicView.TemperatureView();
- tempView.FLayoutView(this, tempValue,(stateStr)=> {
+ LogicView.TemperatureView tempView = new LogicView.TemperatureView();
+ tempView.FLayoutView(this, tempValue, (stateStr) =>
+ {
//鐣岄潰鏄剧ず閫変腑鍊�
temperatureView.btnState.Text = stateStr;
//璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "set_temp";
- selectedState = device.functionType + "_"+ keyVlaue;
+ selectedState = device.spk + "_" + keyVlaue;
string set_temp_value = stateStr.Replace("鈩�", "");
//鏁版嵁灏佽
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", keyVlaue);
- LogicMethod.dictionary(dic, "value", set_temp_value);
- AddDictionaryData(dicSateteList, keyVlaue, dic);
+ AddDictionary(keyVlaue, set_temp_value);
});
@@ -131,20 +190,16 @@
string currText = acModehView.btnState.Text;
//璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "mode";
- selectedState = device.functionType + "_"+keyVlaue;
+ selectedState = device.spk + "_" + keyVlaue;
PublicInterface modeView = new PublicInterface();
- var modeListStr= modeView.GetViewList(keyVlaue);
+ var modeListStr = modeView.GetViewList(keyVlaue);
modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
, (stateValue) =>
{
//鐣岄潰鏄剧ず閫変腑鍊�
acModehView.btnState.Text = stateValue;
//鏁版嵁灏佽
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", keyVlaue);
- LogicMethod.dictionary(dic, "value", modeView.GetModeValueString(stateValue, keyVlaue));
- AddDictionaryData(dicSateteList, keyVlaue, dic);
-
+ AddDictionary(keyVlaue, modeView.GetModeValueString(stateValue, keyVlaue));
});
};
@@ -156,7 +211,7 @@
string currText = acSpeedView.btnState.Text;
//璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "fan";
- selectedState = device.functionType + "_" + keyVlaue;
+ selectedState = device.spk + "_" + keyVlaue;
PublicInterface speedView = new PublicInterface();
var speedListStr = speedView.GetViewList(keyVlaue);
speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText
@@ -165,10 +220,7 @@
//鐣岄潰鏄剧ず閫変腑鍊�
acSpeedView.btnState.Text = stateValue;
//鏁版嵁灏佽
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", keyVlaue);
- LogicMethod.dictionary(dic, "value", speedView.GetModeValueString(stateValue, keyVlaue));
- AddDictionaryData(dicSateteList, keyVlaue, dic);
+ AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue));
});
};
@@ -181,7 +233,7 @@
#endregion
}
break;
- case FunctionType.FloorHeating:
+ case SPK.FloorHeatStandard:
{
#region 鐣岄潰
///寮�鍏�
@@ -207,6 +259,7 @@
///寮�鍏崇偣鍑讳簨浠�
floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
{
+
SwitchViewMethod(device, floorHeatingSwitchVie.btnState, 2);
};
///娓╁害鐐瑰嚮浜嬩欢
@@ -214,33 +267,30 @@
{
string tempValue = temperatureView.btnState.Text;
LogicView.TemperatureView tempView = new LogicView.TemperatureView();
- tempView.FLayoutView(this, tempValue, (stateStr) => {
+ tempView.FLayoutView(this, tempValue, (stateStr) =>
+ {
//鐣岄潰鏄剧ず閫変腑鍊�
temperatureView.btnState.Text = stateStr;
//璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "set_temp";
- selectedState = device.functionType + "_"+ keyVlaue;
+ selectedState = device.spk + "_" + keyVlaue;
string set_temp_value = stateStr.Replace("鈩�", "");
//鏁版嵁灏佽
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", keyVlaue);
- LogicMethod.dictionary(dic, "value", set_temp_value);
- AddDictionaryData(dicSateteList, keyVlaue, dic);
+ AddDictionary(keyVlaue, set_temp_value);
});
-
+
};
///妯″紡鐐瑰嚮浜嬩欢
floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) =>
{
-
-
+
+
///涔嬪墠鐨勭姸鎬佹枃鏈�
- string currText= floorHeatingModehView.btnState.Text;
+ string currText = floorHeatingModehView.btnState.Text;
//璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "mode";
- selectedState = device.functionType + "_"+ keyVlaue;
-
+ selectedState = device.spk + "_" + keyVlaue;
PublicInterface modeView = new PublicInterface();
var modeListStr = modeView.GetViewList("floorheatingmode");
modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
@@ -249,10 +299,7 @@
//鐣岄潰鏄剧ず閫変腑鍊�
floorHeatingModehView.btnState.Text = stateValue;
//鏁版嵁灏佽
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", keyVlaue);
- LogicMethod.dictionary(dic, "value", modeView.GetModeValueString(stateValue, "floorheatingmode"));
- AddDictionaryData(dicSateteList, keyVlaue, dic);
+ AddDictionary(keyVlaue, modeView.GetModeValueString(stateValue, "floorheatingmode"));
});
};
@@ -271,26 +318,25 @@
#region 淇濆瓨鐐瑰嚮浜嬩欢
saveView.btnClick.MouseUpEventHandler += (sen, e) =>
{
-
-
if (selectedState != "unknown")
{
Output outputDevice = new Output();
outputDevice.target_type = "1";
outputDevice.sid = device.sid;
- switch (device.functionType)
+ switch (device.spk)
{
- case FunctionType.Dimmer:
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.ColorTemperature:
+ case SPK.LightDimming:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
{
//璋冨厜鍋氫簡涓�涓壒娈婂鐞嗭紱
if (dicSateteList.Count > 1)
{
foreach (var dictionary in dicSateteList)
{
- if (dictionary["key"] == "on_off")
+ string keyValue = dictionary["key"];
+ if (keyValue == "on_off")
{
if (dictionary["value"] == "off")
{
@@ -308,8 +354,8 @@
}
break;
}
- case FunctionType.AC:
- case FunctionType.FloorHeating:
+ case SPK.AcStandard:
+ case SPK.FloorHeatStandard:
{
//(绌鸿皟/鍦扮儹)鍋氫簡涓�涓壒娈婂鐞嗭紱
@@ -371,85 +417,6 @@
#endregion
}
-
- /// <summary>
- ///寮�鍏�=鐣岄潰
- /// </summary>
- /// <param name="fLayout"></param>
- /// <param name="device"></param>
- /// <param name="index"></param>
- /// <param name="edit"></param>
- /// <param name="intView">閫変腑View鐨勬暟閲�</param>
- private void SwitchView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
- {
- #region 鐣岄潰
- ///寮�鍏�
- LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
- curtainSwitchView.btnText.TextID = StringId.switchLogic;
- fLayout.AddChidren(curtainSwitchView.FLayoutView());
- #endregion
- #region 鐐瑰嚮浜嬩欢
- ///寮�鍏崇偣鍑讳簨浠�
- curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
- {
- SwitchViewMethod(device, curtainSwitchView.btnState, intView);
- };
- if (edit)
- {
- //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
- GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
- }
- #endregion
-
- }
- /// <summary>
- ///锛堝紑鍏�+浜害/鐧惧垎姣�)鐣岄潰
- /// </summary>
- /// <param name="fLayout"></param>
- /// <param name="device"></param>
- /// <param name="index"></param>
- /// <param name="edit"></param>
- /// <param name="intView">閫変腑View鐨勬暟閲�</param>
- private void SwitchBrightnessView(FrameLayout fLayout, Entity.Function device, int index, bool edit, int intView)
- {
- #region 鐣岄潰
- ///寮�鍏�
- LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
- lightSwitchView.btnText.TextID = StringId.switchLogic;
- fLayout.AddChidren(lightSwitchView.FLayoutView());
- ///浜害
- LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
- brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
- if (device.functionType == FunctionType.MotorCurtain || device.functionType == FunctionType.RollingShutter)
- {
-
- brightnessView.btnText.TextID = StringId.percentum;
- }
- else
- {
- brightnessView.btnText.TextID = StringId.brightnesLogic;
- }
- fLayout.AddChidren(brightnessView.FLayoutView());
- #endregion
- #region 鐐瑰嚮浜嬩欢
- ///寮�鍏崇偣鍑讳簨浠�
- lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
- {
- SwitchViewMethod(device, lightSwitchView.btnState, intView);
- };
- ///浜害鐐瑰嚮浜嬩欢
- brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
- {
- BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
- };
- if (edit)
- {
- //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
- GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
- }
- #endregion
-
- }
/// <summary>
/// 寮�鍏�=鍔熻兘涓嬩竴绾х晫闈�
/// </summary>
@@ -459,37 +426,37 @@
private void SwitchViewMethod(Entity.Function device, Button button, int len)
{
#region 鐣岄潰
- FrameLayout frame = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
+ FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence };
this.AddChidren(frame);
LogicView.SwitchView switchView = new LogicView.SwitchView();
switchView.FLayoutView(frame, len, button.Text, (strValue) =>
{
int id = 0;
- switch (strValue) {
- case "on": {
+ switch (strValue)
+ {
+ case "on":
+ {
id = StringId.onLogic;
}
break;
- case "off": {
+ case "off":
+ {
id = StringId.offLogic;
- } break;
- case "stop": {
+ }
+ break;
+ case "stop":
+ {
id = StringId.stop;
- } break;
+ }
+ break;
}
//鐣岄潰鏄剧ず閫変腑鍊�
button.TextID = id;
- selectedState = device.functionType + "_" + strValue;
+ selectedState = device.spk + "_" + strValue;
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "on_off";
//鏁版嵁灏佽
- Dictionary<string, string> dic = new Dictionary<string, string>();
- LogicMethod.dictionary(dic, "key", "on_off");
- LogicMethod.dictionary(dic, "value", strValue);
- AddDictionaryData(dicSateteList, keyVlaue, dic);
-
+ AddDictionary(keyVlaue, strValue);
});
#endregion
}
@@ -507,33 +474,30 @@
brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue) =>
{
//鐣岄潰鏄剧ず閫変腑鍊�
- button.Text = brightnesValue+"%";
+ button.Text = brightnesValue + "%";
+ selectedState = device.spk + brightnesValue.ToString();
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
string keyVlaue = "";
- selectedState = device.functionType + brightnesValue.ToString();
- //鏁版嵁灏佽
- Dictionary<string, string> dic = new Dictionary<string, string>();
- switch (device.functionType)
+ switch (device.spk)
{
//寮�鍏崇伅鍏� light.Switch
- case FunctionType.Dimmer:
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.ColorTemperature:
+ case SPK.LightDimming:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
{
- LogicMethod.dictionary(dic, "key", "brightness");
keyVlaue = "brightness";
}
break;
- case FunctionType.MotorCurtain:
- case FunctionType.RollingShutter:
+ case SPK.CurtainRoller:
+ case SPK.CurtainTrietex:
{
- LogicMethod.dictionary(dic, "key", "percent");
keyVlaue = "percent";
}
break;
}
- LogicMethod.dictionary(dic, "value", brightnesValue.ToString());
- AddDictionaryData(dicSateteList, keyVlaue, dic);
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, brightnesValue);
});
#endregion
@@ -561,18 +525,30 @@
InpOrOutLogicMethod.EditState(device, dicList, button1, button2, button3, button4);
}
/// <summary>
- /// 娣诲姞澶勭悊閫変腑鏁版嵁
+ /// 娣诲姞閫変腑鏁版嵁
/// </summary>
- /// <param name="dicList">瀛樺偍鏁版嵁鍒楄〃</param>
- /// <param name="keyValue">璇嗗埆璁惧</param>
- /// <param name="dictionary">閫変腑鏁版嵁</param>
+ /// <param name="KeyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
+ /// <param name="selectedValue">鐘舵�佸��</param>
+ private void AddDictionary(string KeyValue, string selectedValue)
+ {
+ //鏁版嵁灏佽
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ LogicMethod.dictionary(dic, "key", KeyValue);
+ LogicMethod.dictionary(dic, "value", selectedValue);
+ AddDictionaryList(KeyValue, dic);
+ }
+ /// <summary>
+ /// 鏇存柊鏁版嵁鍒楄〃
+ /// </summary>
+ /// <param name="keyValue">璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�</param>
+ /// <param name="dictionary">娣诲姞閫変腑鏁版嵁</param>
/// <returns></returns>
- private void AddDictionaryData(List<Dictionary<string, string>> dicList, string keyValue, Dictionary<string, string> dictionary)
+ private void AddDictionaryList(string keyValue, Dictionary<string, string> dictionary)
{
int indexValue = -1;
- for (int i = 0; i < dicList.Count; i++)
+ for (int i = 0; i < dicSateteList.Count; i++)
{
- var dic = dicList[i];
+ var dic = dicSateteList[i];
if (dic.ContainsValue(keyValue))
{
//鍒ゆ柇鏄惁瀛樺湪
@@ -584,14 +560,14 @@
if (indexValue != -1)
{
//瀛樺湪绉婚櫎
- dicList.RemoveAt(indexValue);
+ dicSateteList.RemoveAt(indexValue);
//閲嶆柊娣诲姞
- dicList.Insert(indexValue, dictionary);
+ dicSateteList.Insert(indexValue, dictionary);
}
else
{
//鏂版坊鍔�
- dicList.Add(dictionary);
+ dicSateteList.Add(dictionary);
}
}
@@ -622,7 +598,7 @@
}
}
-
+
}
--
Gitblit v1.8.0