From a56a485926a8927f904d7f4795c371c25b35753a Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 22 十二月 2020 18:18:15 +0800 Subject: [PATCH] Merge branch 'WJC' into NewFilePath --- HDL_ON/UI/UI2/3-Intelligence/Automation/InterfaceDsplaysLogic.cs | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 340 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InterfaceDsplaysLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InterfaceDsplaysLogic.cs new file mode 100644 index 0000000..768f037 --- /dev/null +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InterfaceDsplaysLogic.cs @@ -0,0 +1,340 @@ +锘縰sing System; +using Shared; +using System.Collections.Generic; + +namespace HDL_ON.UI.UI2.Intelligence.Automation +{ + public class InterfaceDsplaysLogic + { + /// <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; + } + /// <summary> + /// 鏄熸湡int鍜宻tring浜掔浉杞崲鍊肩殑鏂规硶 + /// </summary> + /// <param name="list"></param> + /// <param name="str_or_int"></param> + /// <returns></returns> + public static List<string> GetWeekString(List<string> list, string str_or_int) + { + string weekTextName = ""; + List<string> stateList = new List<string>(); + for (int i = 0; i < list.Count; i++) + { + var s = list[i]; + if (str_or_int == "int") + { + switch (s) + { + case "1": + { + weekTextName = Language.StringByID(StringId.monday); + } + break; + case "2": + { + weekTextName = Language.StringByID(StringId.tuesday); + } + break; + case "3": + { + weekTextName = Language.StringByID(StringId.wednesday); + } + break; + case "4": + { + weekTextName = Language.StringByID(StringId.thursday); + } + break; + case "5": + { + weekTextName = Language.StringByID(StringId.friday); + } + break; + case "6": + { + weekTextName = Language.StringByID(StringId.saturday); + } + break; + case "0": + { + weekTextName = Language.StringByID(StringId.sunday); + } + break; + } + + } + else + { + if (Language.StringByID(StringId.monday) == s) + { + weekTextName = "1"; + } + else if (Language.StringByID(StringId.tuesday) == s) + { + weekTextName = "2"; + } + else if (Language.StringByID(StringId.wednesday) == s) + { + weekTextName = "3"; + } + else if (Language.StringByID(StringId.thursday) == s) + { + weekTextName = "4"; + } + else if (Language.StringByID(StringId.friday) == s) + { + weekTextName = "5"; + } + else if (Language.StringByID(StringId.saturday) == s) + { + weekTextName = "6"; + } + else if (Language.StringByID(StringId.sunday) == s) + { + weekTextName = "0"; + } + } + stateList.Add(weekTextName); + + } + + return stateList; + } + + /// <summary> + /// 妯″紡/椋庨�熶簰鐩歌浆鎹㈠�肩殑鏂规硶 + /// </summary> + /// <param name="text"></param> + /// <param name="type"></param> + /// <returns></returns> + public static string GetModeValueString(string text, string type) + { + string str = ""; + switch (type) + { + case "mode": + { + if (text == Language.StringByID(StringId.coolLogic)) + { + str = "cool"; + } + else if (text == Language.StringByID(StringId.heatingLogic)) + { + str = "heat"; + } + else if (text == Language.StringByID(StringId.autoLogic)) + { + str = "auto"; + } + else if (text == Language.StringByID(StringId.dehumidifyLogic)) + { + str = "dry"; + } + } + break; + case "fan": + { + if (text == Language.StringByID(StringId.HighWindSpeed)) + { + str = "high"; + } + else if (text == Language.StringByID(StringId.MiddleWindSpeed)) + { + str = "medium"; + } + else if (text == Language.StringByID(StringId.LowWindSpeed)) + { + str = "low"; + } + else if (text == Language.StringByID(StringId.Auto)) + { + str = "auto"; + } + } + break; + case "FloorHeating": + { + if (text == Language.StringByID(StringId.dayMode)) + { + str = "day"; + } + else if (text == Language.StringByID(StringId.nightMode)) + { + str = "night"; + } + else if (text == Language.StringByID(StringId.leaveMode)) + { + str = "away"; + } + else if (text == Language.StringByID(StringId.ordinaryMode)) + { + str = "normal"; + } + else if (text == Language.StringByID(StringId.timeMode)) + { + str = "timer"; + } + } + break; + } + return str; + } + } +} -- Gitblit v1.8.0