New file |
| | |
| | | using 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": |
| | | { |
| | | //用sid找到设备; |
| | | 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": |
| | | { |
| | | //用sid找到设备; |
| | | 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": |
| | | { |
| | | //用sid找到场景; |
| | | var scene = LogicMethod.GetSecne(outputTarget.sid); |
| | | name += scene.name; |
| | | |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | catch { } |
| | | return name; |
| | | } |
| | | /// <summary> |
| | | /// 星期int和string互相转换值的方法 |
| | | /// </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; |
| | | } |
| | | } |
| | | } |