From 7f233a10afa6882b4d9531185af60e8843bc1af2 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 11 五月 2020 09:21:36 +0800 Subject: [PATCH] 20200511 --- HDL_ON/Entity/Function/Function.cs | 132 +++++++++++++++++++++++++------------------- 1 files changed, 75 insertions(+), 57 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 6e0770d..8808a33 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -28,6 +28,13 @@ /// 鏈�灏忓�� /// </summary> public int min; + + /// <summary> + /// 褰撳墠鍊� + /// app杞欢鑷畾涔夊睘鎬� + /// 鐢ㄦ潵璁板綍褰撳墠鐘舵�� + /// </summary> + public object curValues; } public class Function @@ -44,14 +51,14 @@ */ public Function() { - dicPropert = new Dictionary<string, string>(); - if (trait == null || trait.Count == 0) - { - foreach (var t in trait) - { - dicPropert.TryAdd(t.attri,t.min.ToString()); - } - } + //dicPropert = new Dictionary<string, string>(); + //if (propertList == null || propertList.Count == 0) + //{ + // foreach (var t in propertList) + // { + // dicPropert.TryAdd(t.attri,t.min.ToString()); + // } + //} } #region base info /// <summary> @@ -75,11 +82,11 @@ public string sid = "00010112345678901234560101230123AABB"; /// <summary> - /// A鍗忚鍔熻兘鐨勯�氳 + /// A鍗忚鍔熻兘鐨勭壒鎬� /// 濡傦細鏄疉C鍔熻兘锛氱壒鎬э細on_off,mode,fan,temperature /// attri /// </summary> - public List<Trait> trait = new List<Trait>(); + public List<Trait> propertList = new List<Trait>(); /// <summary> /// 鎴块棿ID鍒楄〃 @@ -95,10 +102,10 @@ #endregion - /// <summary> - /// 鍔熻兘闄勫甫鐨勫睘鎬т笌鍊肩殑鍒楄〃 - /// </summary> - public Dictionary<string, string> dicPropert; + ///// <summary> + ///// 鍔熻兘闄勫甫鐨勫睘鎬т笌鍊肩殑鍒楄〃 + ///// </summary> + //public Dictionary<string, string> dicPropert; /// <summary> /// 鍔熻兘绫诲埆 @@ -111,7 +118,8 @@ try { var _functionCategoryString = sid.Substring(24, 2); - return (FunctionCategory)Enum.ToObject(typeof(FunctionCategory), Convert.ToInt32(_functionCategoryString)); + var _functionCategory = Convert.ToInt32(_functionCategoryString, 16); + return (FunctionCategory)Enum.ToObject(typeof(FunctionCategory), _functionCategory); } catch (Exception ex) { @@ -154,7 +162,8 @@ /// </summary> public string lastState = ""; - + [Newtonsoft.Json.JsonIgnore] + public Trait trait_on_off; /// <summary> /// 寮�鍏崇姸鎬� /// 0:鍏� @@ -167,14 +176,34 @@ { try { - string o = "off"; - dicPropert.TryGetValue("on_off", out o); - return o == "" ? "off" : o; + if (trait_on_off == null) + { + trait_on_off = propertList.Find((obj) => obj.attri == "on_off"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (trait_on_off == null) + { + trait_on_off = new Trait() + { + attri = "on_off", + value = new List<string> { "on", "off" }, + max = 1, + min = 0, + }; + } + trait_on_off.curValues = trait_on_off.value[trait_on_off.min]; + } + return trait_on_off.curValues.ToString(); } catch { MainPage.Log("on_off 鏁版嵁鑾峰彇澶辫触."); - dicPropert.TryAdd("on_off", "0"); + propertList.Add( new Trait() + { + attri = "on_off", + value = new List<string> { "on", "off" }, + max = 1, + min = 0, + }); return "off"; } } @@ -182,12 +211,34 @@ { try { - dicPropert["on_off"] = value.ToString(); + if (trait_on_off == null) + { + trait_on_off = propertList.Find((obj) => obj.attri == "on_off"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (trait_on_off == null) + { + trait_on_off = new Trait() + { + attri = "on_off", + value = new List<string> { "on", "off" }, + max = 1, + min = 0, + }; + } + trait_on_off.curValues = trait_on_off.min; + } + trait_on_off.curValues = value; } - catch + catch (Exception ex) { - MainPage.Log("on_off 鏁版嵁鍒锋柊澶辫触."); - dicPropert.TryAdd("on_off", value.ToString()); + MainPage.Log($"on_off 鏁版嵁鍒锋柊澶辫触: {ex.Message}"); + propertList.Add(new Trait() + { + attri = "on_off", + value = new List<string> { "on", "off" }, + max = 1, + min = 0, + }); } } } @@ -214,39 +265,6 @@ /// 鍥哄畾鐨勫簭鍙� /// </summary> public int fixedSerialNumber = int.MaxValue; - - /// <summary> - /// A鍗忚鏁版嵁 - /// </summary> - public List<string> PropertyArray - { - get - { - try - { - if (trait == null) - return new List<string>(); - var proArr = new List<string>(); - foreach (var pro in trait) - { - if (!dicPropert.ContainsKey(pro.attri)) - { - dicPropert.TryAdd(pro.attri, "0"); - } - if (!proArr.Contains(pro.attri)) - { - proArr.Add(pro.attri); - } - } - return proArr; - } - catch (Exception ex) - { - MainPage.Log($"Get PropertyArray error : {ex.Message}"); - return new List<string>(); - } - } - } /// <summary> /// 鑾峰彇A鍗忚鎺у埗瀛楃涓� -- Gitblit v1.8.0