From 017af840d60fd6a56da9711308bf8239cb7fc1e6 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 13 十一月 2020 11:01:01 +0800
Subject: [PATCH] 2020-11-13 1.部分接口替换备份

---
 HDL_ON/DAL/Server/HttpServerRequest.cs |  374 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 245 insertions(+), 129 deletions(-)

diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index c297ae7..376cf97 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -31,18 +31,11 @@
 
               */
 
-        public string relaseaSever = "https://global.hdlcontrol.com/HangZhouHdlCloudApi";
-        public string debugSever = "https://global.hdlcontrol.com/ProposedProductionApi";
 
-        string severAddress;
+        string severAddress = "https://global.hdlcontrol.com/ProposedProductionApi";
 
         public HttpServerRequest()
         {
-#if DEBUG1
-            severAddress = debugSever;
-#else
-            severAddress = relaseaSever;
-#endif
         }
 
         /// <summary>
@@ -57,7 +50,7 @@
         /// <param name="nowMonth"></param>
         /// <param name="mac"></param>
         /// <returns></returns>
-        public ResponsePack GetSensorHistory(int subnetId,int deviceId,int bigClass,int minClass,int queryType,int loopId,int nowMonth,string mac)
+        public ResponsePack GetSensorHistory(int subnetId, int deviceId, int bigClass, int minClass, int queryType, int loopId, int nowMonth, string mac)
         {
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("SubnetID", subnetId);
@@ -70,7 +63,7 @@
             d.Add("MAC", DB_ResidenceData.residenceData.residenceGatewayMAC);
             d.Add("LocalTimeZone", 8);
             var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d);
-            return RequestHttps("https://developer.hdlcontrol.com/api/GetSensorPushHistory", jsonString,true);
+            return RequestHttps("https://developer.hdlcontrol.com/api/GetSensorPushHistory", jsonString, true);
 
         }
 
@@ -89,7 +82,7 @@
                     result = Language.StringByID(StringId.FailedToSendVerificationCode);
                     break;
                 case "EXIST":
-                    result = Language.StringByID(StringId.AccountAlreadyExists);
+                    result = Language.StringByID(StringId.AccountAlreadyUse);
                     break;
                 case "Self:Net_Error":
                     result = Language.StringByID(StringId.NetworkAnomaly);
@@ -98,99 +91,166 @@
             return result;
         }
 
+        #region 鈻� 閫氱敤璇锋眰鎺ュ彛_______________________
+        /// <summary>
+        /// 鏍规鐢ㄦ埛璐﹀彿鑾峰彇娉ㄥ唽鍖哄煙 鍏嶇櫥褰� // 妫�娴嬭处鍙锋槸鍚︽敞鍐屼篃鐢ㄨ繖涓帴鍙�
+        /// </summary>
+        /// <param name="account"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetRegionByAccount(string account)
+        {
+            var requestJson = HttpUtil.GetSignRequestJson(new RegionByAccountObj() { account = account });
+            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetRegionByAccount, requestJson);
+        }
+
+        /// <summary>
+        /// 鍒锋柊Token
+        /// </summary>
+        /// <returns></returns>
+        public bool RefreshToken()
+        {
+            var requestJson = HttpUtil.GetSignRequestJson(new RefreshTokenObj()
+            {
+                refreshToken = MainPage.LoginUser.refreshToken,
+            });
+            var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Login, requestJson);
+            if (revertObj.Code.ToUpper() == HttpUtil.SUCCESS_CODE)
+            {
+                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(revertObj.Data.ToString());
+                MainPage.LoginUser.loginTokenString = revertData.headerPrefix + revertData.accessToken;
+                MainPage.LoginUser.lastTime = DateTime.Now;
+                MainPage.LoginUser.SaveUserInfo();
+                return true;
+            }
+            return false;
+        }
+
+        #endregion
+
 
         #region 娉ㄥ唽銆佺櫥褰曢儴鍒�
         /// <summary>
+        /// 鑾峰彇璇锋眰鎻愪氦鐨勮瑷�鍙傛暟
+        /// </summary>
+        public string GetPostLanguageType()
+        {
+            return Language.CurrentLanguage == "Chinese" ? LanguageTypeEnum.CHINESE.ToString() : LanguageTypeEnum.ENGLISH.ToString();
+        }
+
+        /// <summary>
+        /// 閫氱敤 鍙戦�侀獙璇佺爜鏂规硶
+        /// </summary>
+        /// <param name="verifyType">1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱櫥闄� 4:缁戝畾</param>
+        /// <param name="account">閭鎴栬�呮墜鏈哄彿</param>
+        /// <param name="isPhone">鏄惁鎵嬫満</param>
+        /// <param name="phoneZoneCode">鎵嬫満鍥藉鍖哄彿</param>
+        /// <returns></returns>
+        public ResponsePackNew VerificationCodeSend(VerifyType verifyType, string account, bool isPhone = false, string phoneZoneCode = "86")
+        {
+            var requestObj = new VerifyCodeSendObj()
+            {
+                verifyType = (int)verifyType,
+                languageType = GetPostLanguageType()
+            };
+            // 鏄惁鏄墜鏈� 
+            if (isPhone)
+            {
+                requestObj.phone = account;
+                requestObj.phonePrefix = phoneZoneCode;
+            }
+            else
+            {
+                requestObj.mail = account;
+            }
+            // 瓒呮椂鏃堕棿璁剧疆涓�20绉掞紝搴旇娴嬭瘯娴峰鏈嶅姟鍣ㄥ彂閫侀獙璇佺爜鍝嶅簲鏃堕棿寰堜箙
+            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
+            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Verification_Send, requestJson, "", "", HttpUtil.TIME_OUT_LONG);
+        }
+
+        /// <summary>
         /// 璐﹀彿鐧诲綍-浣跨敤瀵嗙爜
         /// </summary>
-        public ResponsePack LoginByPassword(string account, string password)
+        /// <param name="account">璐﹀彿</param>
+        /// <param name="password">瀵嗙爜</param>
+        /// <returns></returns>
+        public ResponsePackNew LoginByPassword(string account, string password)
         {
-            string jsonString = "{" +
-                                "\"Account\":" + "\"" + account + "\"" + "," +
-                                "\"Password\":" + "\"" + password + "\"" + 
-                                "}";
-            return RequestHttps($"{severAddress}/ZigbeeUsers/Login", jsonString, false);
+            var requestJson = HttpUtil.GetSignRequestJson(new LoginObj()
+            {
+                account = account,
+                loginPwd = password
+            });
+            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Login, requestJson);
         }
 
         /// <summary>
         /// 楠岃瘉鐮佺櫥褰�
         /// </summary>
-        public ResponsePack LoginValidCode(string account,string vCode)
+        /// <param name="account">璐﹀彿</param>
+        /// <param name="vCode">楠岃瘉鐮�</param>
+        /// <returns></returns>
+        public ResponsePackNew LoginValidCode(string account, string vCode)
         {
-            Dictionary<string, object> d = new Dictionary<string, object>();
-            d.Add("Account", account);
-            d.Add("Code", vCode);
-            d.Add("Language", Language.CurrentLanguage);
-            d.Add("AreaCode", "86");
-            var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d);
-            return RequestHttps($"{severAddress}/ZigbeeUsers/LoginValidCode", jsonString, false);
-        }
-
-        /// <summary>
-        /// 鎵嬫満鍙风爜娉ㄥ唽
-        /// </summary>
-        /// <param name="mobileNumber"></param>
-        /// <param name="password"></param>
-        /// <param name="language"></param>
-        public ResponsePack RegisterPhone(string mobileNumber, string password, string language)
-        {
-            string jsonString = "{" +
-                                "\"Account\":" + "\"" + mobileNumber + "\"" + "," +
-                                "\"Password\":" + "\"" + password + "\"" + "," +
-                                "\"Language\":" + "\"" + language + "\"" +
-                                "\"AreaCode\":" + "\"" + "86" + "\"" +
-                                "}";
-            return RequestHttps($"{severAddress}/SignIn", jsonString, false);
-        }
-
-        public ResponsePack GetAreaCode()
-        {
-            string requestJson = "{}";
-            return RequestHttps($"{severAddress}/ZigbeeUsers/GetAreaCode", requestJson, false);
+            var requestJson = HttpUtil.GetSignRequestJson(new LoginObj()
+            {
+                account = account,
+                verifyCode = vCode,
+                grantType = "verify"
+            });
+            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Login, requestJson);
         }
 
         /// <summary>
         /// 楠岃瘉鐭俊鎴栬�呴偖绠遍獙璇佺爜锛屼箣鍚庢敞鍐�
         /// </summary>
-        /// <param name="account">璐﹀彿</param>
+        /// <param name="account">閭鎴栬�呮墜鏈哄彿</param>
         /// <param name="password">瀵嗙爜</param>
-        /// <param name="entryPassword">纭瀵嗙爜</param>
         /// <param name="code">楠岃瘉鐮�</param>
-        /// <param name="areaCode"></param>
+        /// <param name="isPhone">鏄惁鎵嬫満</param>
         /// <returns></returns>
-        public ResponsePack ValidataCodeAndRegister(string account, string password, string entryPassword, string code, int areaCode)
+        public ResponsePackNew ValidataCodeAndRegister(string account, string password, string code, bool isPhone = false)
         {
-            //var requestObj = new ValidateSmsCodeObj() { Phone = accout, Code = code };
-            //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
-            string requestJson = "{" +
-                                "\"Account\":" + "\"" + account + "\"" + "," +
-                                "\"Password\":" + "\"" + password + "\"" + "," +
-                                "\"EnterPassword\":" + "\"" + entryPassword + "\"" + "," +
-                                "\"Language\":" + "\"" + Language.CurrentLanguage.ToLower() + "\"" + "," +
-                                "\"Code\":" + "\"" + code + "\"" + "," +
-                                "\"RegisterSoruce\":" + 0 + "," +
-                                "\"AreaCode\":" + areaCode +
-                                "}";
-            return RequestHttps($"{severAddress}/ZigbeeUsers/ValidataCodeAndRegisterAccount", requestJson, false);
+            var requestObj = new RegisterObj() { loginPwd = password, verifyCode = code, memberName = account };
+            if (isPhone)
+            {
+                requestObj.memberPhone = account;
+            }
+            else
+            {
+                requestObj.memberEmail = account;
+            }
+            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
+            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_Register, requestJson);
         }
-
 
         /// <summary>
-        /// 鑾峰彇娉ㄥ唽楠岃瘉鐮�
+        /// 蹇樿瀵嗙爜锛岄噸缃瘑鐮�
         /// </summary>
-        public ResponsePack GetRegisterVerCode(string account)
+        /// <param name="account">閭鎴栬�呮墜鏈哄彿</param>
+        /// <param name="password">鏂板瘑鐮�</param>
+        /// <param name="vCode">楠岃瘉鐮�</param>
+        /// <param name="isPhone">鏄惁鎵嬫満璐﹀彿</param>
+        /// <returns></returns>
+        public ResponsePackNew ForgetPassword(string account, string password, string vCode, bool isPhone)
         {
-            string jsonString = "{" +
-                                "\"Account\":" + "\"" + account + "\"" + "," +
-                                "\"Company\":" + MainPage.Company + "," +
-                                "\"Language\":" + "\"" + Language.CurrentLanguage.ToLower() + "\"" + "," +
-                                "\"AreaCode\":" + OnAppConfig.Instance.CountryNumber +
-                                "}";
-            return RequestHttps($"{severAddress}/ZigbeeUsers/RegisterSendVerCode", jsonString, false);
-
+            var requestObj = new ForgetPwdObj() { verifyCode = vCode, loginPwd = password };
+            if (isPhone)
+            {
+                //鎵嬫満蹇樿瀵嗙爜
+                requestObj.memberPhone = account;
+            }
+            else
+            {
+                //閭蹇樿瀵嗙爜
+                requestObj.memberEmail = account;
+            }
+            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
+            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_ForgetPwd, requestJson);
         }
 
-        
+
+
+
 
 
         /// <summary>
@@ -201,24 +261,24 @@
 
             string jsonString = "{" +
                                 "\"Account\":" + "\"" + account + "\"" + "," +
-                                "\"AreaCode\":" + "86" + 
+                                "\"AreaCode\":" + "86" +
                                 "}";
             return RequestHttps($"{severAddress}/ZigbeeUsers/LoginSendVerCode", jsonString, false);
         }
 
-        /// <summary>
-        /// 鍙戦�侀獙璇佺爜
-        /// </summary>
-        public ResponsePack SendSms(string account)
-        {
-            string jsonString = "{" +
-                                "\"Account\":" + "\"" + account + "\"" + "," +
-                                "\"Company\":" + MainPage.Company + "," +
-                                "\"Language\":" + "\"" + Language.CurrentLanguage + "\"" + "," +
-                                "\"AreaCode\":" + OnAppConfig.Instance.CountryNumber +
-                                "}";
-            return RequestHttps($"{severAddress}/ZigbeeUsers/LoginSendVerCode", jsonString, false);
-        }
+        ///// <summary>
+        ///// 鍙戦�侀獙璇佺爜
+        ///// </summary>
+        //public ResponsePack SendSms(string account)
+        //{
+        //    string jsonString = "{" +
+        //                        "\"Account\":" + "\"" + account + "\"" + "," +
+        //                        "\"Company\":" + MainPage.Company + "," +
+        //                        "\"Language\":" + "\"" + Language.CurrentLanguage + "\"" + "," +
+        //                        "\"AreaCode\":" + OnAppConfig.Instance.CountryNumber +
+        //                        "}";
+        //    return RequestHttps($"{severAddress}/ZigbeeUsers/LoginSendVerCode", jsonString, false);
+        //}
 
         /// <summary>
         /// 楠岃瘉楠岃瘉鐮�
@@ -236,6 +296,8 @@
                                 "}";
             return RequestHttps($"{severAddress}/ZigbeeUsers/ValidatorCode", jsonString, false);
         }
+
+
 
         /// <summary>
         /// 閲嶈瀵嗙爜
@@ -264,7 +326,7 @@
             var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(d);
             var revertObj = RequestHttps($"{severAddress}/ZigbeeUsers/GetAccountInfo", requestJson, true);
 
-            if (revertObj.StateCode.ToUpper() == "SUCCESS")
+            if (revertObj.StateCode.ToUpper() == HttpUtil.SUCCESS_CODE)
             {
                 var dataStr = JObject.FromObject(revertObj.ResponseData);
                 //"DistributedMark": "96439601-fd26-4768-8440-1d9dfa32c109",  < !--甯愬彿Id-- >
@@ -285,7 +347,8 @@
                         fs.Flush();
                         MainPage.LoginUser.headImagePagePath = filePath;
                     }
-                } catch (Exception ex)
+                }
+                catch (Exception ex)
                 {
                     MainPage.Log($"download headImage error : {ex.Message}");
                 }
@@ -369,9 +432,9 @@
                                 "\"HomeType\":" + "\"" + "1" + "\"" + "," +
                                 "\"LoginAccessToken\":" + "\"" + MainPage.LoginUser.loginTokenString + "\"" +
                                 "}";
-            var responsePack = RequestHttps($"{severAddress}/App/GetHomePager", jsonString,false);
+            var responsePack = RequestHttps($"{severAddress}/App/GetHomePager", jsonString, false);
 
-            if (responsePack.StateCode.ToUpper() == "SUCCESS")
+            if (responsePack.StateCode.ToUpper() == HttpUtil.SUCCESS_CODE)
             {
                 var dataStr = JObject.FromObject(responsePack.ResponseData);
                 //娌℃湁浣忓畢
@@ -417,7 +480,12 @@
                             Name = homeJsonStr.GetValue("Name").ToString(),
                             Address = homeJsonStr.GetValue("Address").ToString(),
                             IsOthreShare = (bool)homeJsonStr.GetValue("IsOthreShare"),
+                            homeGateways = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGateways>>(homeJsonStr.GetValue("HomeGateways").ToString()),
                         };
+                        if (home.IsOthreShare)
+                        {
+                            continue;
+                        }
                         MainPage.LoginUser.regionList.Add(home);
                         if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.CurReginID))
                         {
@@ -484,7 +552,7 @@
         /// <param name="nickName"></param>
         /// <param name="subAccountGuid"></param>
         /// <returns></returns>
-        public ResponsePack EditSubAccountNickName(string nickName,string subAccountGuid)
+        public ResponsePack EditSubAccountNickName(string nickName, string subAccountGuid)
         {
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("SubAccountGuid", subAccountGuid);
@@ -524,7 +592,7 @@
         /// 鑾峰彇浣忓畢涓嬪瓙璐﹀彿鐨勫叡浜暟鎹�
         /// </summary>
         /// <returns></returns>
-        public ResponsePack GetShareData(string memberId,string hId)
+        public ResponsePack GetShareData(string memberId, string hId)
         {
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("DistributedMark", memberId);
@@ -596,7 +664,7 @@
         /// <param name="subAccount"></param>
         /// <param name="nickName"></param>
         /// <returns></returns>
-        public ResponsePack BindResidenceMemberAccount(string subAccount,string nickName)
+        public ResponsePack BindResidenceMemberAccount(string subAccount, string nickName)
         {
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("SubAccount", subAccount);
@@ -676,7 +744,8 @@
                     }
                     System.Threading.Thread.Sleep(1000);
                 }
-                Shared.Application.RunOnMainThread(() => {
+                Shared.Application.RunOnMainThread(() =>
+                {
                     try
                     {
                         HDL_ON.UI.HomePage.LoadEvent_RefreshAir();
@@ -688,11 +757,58 @@
 
         #endregion
 
+        #region mqtt杩滅▼杩炴帴锛堟棫锛�
+        /// <summary>
+        /// 璇锋眰Mqtt鏁版嵁
+        /// </summary>
+        /// <param name="dataStringJson">璇锋眰鐨勫弬鏁�.</param>
+        public ResponsePack RequestMqttInfo(string dataStringJson)
+        {
+            ResponsePack revertObj = null;
+
+            var webClient = new WebClient();
+            #region
+            webClient.Headers.Add("CONTENT-TYPE", "application/json");
+            var url = "https://global.hdlcontrol.com/ProposedProductionApi/EmqMqtt/GetConnMqttInfo";
+
+            byte[] bytes = null;
+            try
+            {
+                bytes = webClient.UploadData(url, Encoding.UTF8.GetBytes(dataStringJson));
+            }
+            catch (Exception ex)
+            {
+                Console.WriteLine(ex.Message);
+                revertObj = new ResponsePack() { StateCode = "Net_Error" };
+            }
+
+            string responseString = null;
+            if (bytes != null)
+            {
+                responseString = Encoding.UTF8.GetString(bytes);
+            }
+
+            if (responseString != null)
+            {
+                try
+                {
+                    revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(responseString);
+                }
+                catch (Exception ex)
+                {
+                    Console.WriteLine(ex.ToString());
+                }
+            }
+            return revertObj;
+            #endregion
+        }
+        #endregion
+
         #region 澶囦唤閮ㄥ垎
         /// <summary>
         /// 鑾峰彇浣忓畢澶囦唤鍒楄〃
         /// </summary>
-        public Dictionary<int,string> GetRegionLastBackupId()
+        public Dictionary<int, string> GetRegionLastBackupId()
         {
             //Dialog dialog = new Dialog();
             //dialog.Show();
@@ -702,7 +818,7 @@
             d.Add("LevelID", DB_ResidenceData.residenceData.residecenInfo.RegionID);// 199200);
             var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(d);
             var revertObj = RequestHttps("https://developer.hdlcontrol.com/api/GetUserFolder", requestJson, true);
-            if(revertObj == null || revertObj.ResponseData == null)
+            if (revertObj == null || revertObj.ResponseData == null)
             {
                 return new Dictionary<int, string>();
             }
@@ -715,7 +831,7 @@
             }
             return backupList;
         }
-
+        /* 2020-09-01 寮冪敤 鎭㈠鏃ф暟鎹姛鑳藉湪bus杞欢涓婂疄鐜�
         /// <summary>
         /// 鑾峰彇澶囦唤鏂囦欢鍒楄〃
         /// </summary>
@@ -846,7 +962,7 @@
                 //    backgroundImage = "Classification/Room/Roombg.png",
                 //    //backgroundImage = ss.GetValue("BackGroundImage").ToString() == "Room/r1.png" ? "Classification/Room/Roombg.png" : filePath,
                 //};
-                //DB_ResidenceData.residenceData.rooms.Add(room1);
+                //DB_ResidenceData.rooms.Add(room1);
                 //roomList.Add(ss, room1);
 
             }
@@ -949,19 +1065,19 @@
                 {
                     case "LightSwitch":
                     case "LightMixSwitch":
-                        var light1 = DB_ResidenceData.residenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
+                        var light1 = DB_ResidenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
                           obj.bus_Data.DeviceID == (byte)ss.GetValue("DeviceID") && obj.bus_Data.LoopID == (byte)ss.GetValue("LoopID"));
                         if (light1 != null)
                         {
                             //light1.roomIdList.Add(roomSid);
                             break;
                         }
-                        DB_ResidenceData.residenceData.functionList.lights.Add(new Light()
+                        DB_ResidenceData.functionList.lights.Add(new Light()
                         {
                             sid = "030101" + guid + "0102010001AABB",
                             name = ss.GetValue("Name").ToString(),
                             function = new List<Trait>() {
-                                    new Trait { attri="on_off", max=100,min = 0, value= new List<string> { "on","off"} },
+                                    new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off"} },
                                 },
                             roomIdList = roomIds,
                             bus_Data = new BusData
@@ -975,19 +1091,19 @@
                     case "LightDimming":
                     case "LightDALI":
                     case "LightMixDimming":
-                        var light2 = DB_ResidenceData.residenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
+                        var light2 = DB_ResidenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
                           obj.bus_Data.DeviceID == (byte)ss.GetValue("DeviceID") && obj.bus_Data.LoopID == (byte)ss.GetValue("LoopID"));
                         if (light2 != null)
                         {
                             //light2.roomIdList.Add(roomSid);
                             break;
                         }
-                        DB_ResidenceData.residenceData.functionList.lights.Add(new Light()
+                        DB_ResidenceData.functionList.lights.Add(new Light()
                         {
                             sid = "030101" + guid + "0202020001AABB",
                             name = ss.GetValue("Name").ToString(),
                             function = new List<Trait>() {
-                                        new Trait { attri="brightness", max=100,min = 0, value= new List<string> { "up","down"} },
+                                        new Trait { name="brightness", max=100,min = 0, value_key= new List<string> { "up","down"} },
                                     },
                             roomIdList = roomIds,
                             //roomIdList = new List<string>() { "0001" },
@@ -1002,20 +1118,20 @@
                         break;
                     case "LightLogic":
                     case "LightRGB":
-                        var light3 = DB_ResidenceData.residenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
+                        var light3 = DB_ResidenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
                           obj.bus_Data.DeviceID == (byte)ss.GetValue("DeviceID") && obj.bus_Data.LoopID == (byte)ss.GetValue("LoopID"));
                         if (light3 != null)
                         {
                             //light3.roomIdList.Add(roomSid);
                             break;
                         }
-                        DB_ResidenceData.residenceData.functionList.lights.Add(new Light()
+                        DB_ResidenceData.functionList.lights.Add(new Light()
                         {
                             sid = "030101" + guid + "0202040001AABB",
                             name = ss.GetValue("Name").ToString(),
                             function = new List<Trait>() {
-                                        new Trait { attri="brightness", max=100,min = 0, value= new List<string> { "on","off"} },
-                                        new Trait { attri="color", max=100,min = 0, value= new List<string> { "255", "255", "255" } },
+                                        new Trait { name="brightness", max=100,min = 0, value_key= new List<string> { "on","off"} },
+                                        new Trait { name="color", max=100,min = 0, value_key= new List<string> { "255", "255", "255" } },
                                     },
                             roomIdList = roomIds,
                             //roomIdList = new List<string>() { roomSid },
@@ -1031,22 +1147,22 @@
                     case "HVAC":
                     case "ACPanel":
                     case "ACInfrared":
-                        var ac = DB_ResidenceData.residenceData.functionList.aCs.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
+                        var ac = DB_ResidenceData.functionList.aCs.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
                           obj.bus_Data.DeviceID == (byte)ss.GetValue("DeviceID") && obj.bus_Data.LoopID == (byte)ss.GetValue("LoopID"));
                         if (ac != null)
                         {
                             //ac.roomIdList.Add(roomSid);
                             break;
                         }
-                        DB_ResidenceData.residenceData.functionList.aCs.Add(new AC()
+                        DB_ResidenceData.functionList.aCs.Add(new AC()
                         {
                             sid = "030101" + guid + "0204010001AABB",
                             name = ss.GetValue("Name").ToString(),
                             function = new List<Trait>() {
-                                        new Trait { attri="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
-                                        new Trait { attri="mode", max = 2,min =0,value = new List<string>{ "auto", "heat", "cool","dry" } },
-                                        new Trait { attri = "fan",max = 3,min =0,value = new List<string>{ "low", "mid", "high" ,"auto"} },
-                                        new Trait { attri = "temperature", max = 32,min=16,value = new List<string>{"up","down" } },
+                                        new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
+                                        new Trait { name="mode", max = 2,min =0,value_key = new List<string>{ "auto", "heat", "cool","dry" } },
+                                        new Trait { name = "fan",max = 3,min =0,value_key = new List<string>{ "low", "mid", "high" ,"auto"} },
+                                        new Trait { name = "temperature", max = 32,min=16,value_key = new List<string>{"up","down" } },
                                     },
                             roomIdList = roomIds,
                             //roomIdList = new List<string>() { roomSid},
@@ -1061,21 +1177,21 @@
                         break;
                     //Entity.
                     case "CurtainModel":
-                        var curtain1 = DB_ResidenceData.residenceData.functionList.curtains.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
+                        var curtain1 = DB_ResidenceData.functionList.curtains.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
                           obj.bus_Data.DeviceID == (byte)ss.GetValue("DeviceID") && obj.bus_Data.LoopID == (byte)ss.GetValue("LoopID"));
                         if (curtain1 != null)
                         {
                             //curtain1.roomIdList.Add(roomSid);
                             break;
                         }
-                        DB_ResidenceData.residenceData.functionList.curtains.Add(new Curtain()
+                        DB_ResidenceData.functionList.curtains.Add(new Curtain()
                         {
                             sid = "030101" + guid + "0203010001AABB",
                             name = ss.GetValue("Name").ToString(),
                             roomIdList = roomIds,
                             //roomIdList = new List<string>() { roomSid },
                             function = new List<Trait>() {
-                                        new Trait { attri="on_off", max=2,min = 0, value= new List<string> { "on","off","stop"} },
+                                        new Trait { name="on_off", max=2,min = 0, value_key= new List<string> { "on","off","stop"} },
                                     },// "curtain",
                             lastState = "寮�",
                             bus_Data = new BusData
@@ -1087,21 +1203,21 @@
                         });
                         break;
                     case "CurtainRoller":
-                        var curtain2 = DB_ResidenceData.residenceData.functionList.curtains.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
+                        var curtain2 = DB_ResidenceData.functionList.curtains.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
                          obj.bus_Data.DeviceID == (byte)ss.GetValue("DeviceID") && obj.bus_Data.LoopID == (byte)ss.GetValue("LoopID"));
                         if (curtain2 != null)
                         {
                             //curtain2.roomIdList.Add(roomSid);
                             break;
                         }
-                        DB_ResidenceData.residenceData.functionList.curtains.Add(new Curtain()
+                        DB_ResidenceData.functionList.curtains.Add(new Curtain()
                         {
                             sid = "030101" + guid + "0203040001AABB",
                             name = ss.GetValue("Name").ToString(),
                             roomIdList = roomIds,
                             //roomIdList = new List<string>() { roomSid },
                             function = new List<Trait>() {
-                                        new Trait { attri="on_off", max=100,min = 0, value= new List<string> { "on","off","stop"} },
+                                        new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off","stop"} },
                                     },// "rollingshutter",
                             lastState = "20%",
                             bus_Data = new BusData
@@ -1113,21 +1229,21 @@
                         });
                         break;
                     case "CurtainTrietex":
-                        var curtain3 = DB_ResidenceData.residenceData.functionList.curtains.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
+                        var curtain3 = DB_ResidenceData.functionList.curtains.Find((obj) => obj.bus_Data.SubnetID == (byte)ss.GetValue("SubnetID") &&
                          obj.bus_Data.DeviceID == (byte)ss.GetValue("DeviceID") && obj.bus_Data.LoopID == (byte)ss.GetValue("LoopID"));
                         if (curtain3 != null)
                         {
                             //curtain3.roomIdList.Add(roomSid);
                             break;
                         }
-                        DB_ResidenceData.residenceData.functionList.curtains.Add(new Curtain()
+                        DB_ResidenceData.functionList.curtains.Add(new Curtain()
                         {
                             sid = "030101" + guid + "0203030001AABB",
                             name = ss.GetValue("Name").ToString(),
                             roomIdList = roomIds,
                             //roomIdList = new List<string>() { roomSid },
                             function = new List<Trait>() {
-                                        new Trait { attri="on_off", max=100,min = 0, value= new List<string> { "on","off","stop"} },
+                                        new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off","stop"} },
                                     },
                             lastState = "20%",
                             bus_Data = new BusData
@@ -1138,7 +1254,7 @@
                             },
                         });
                         break;
-                        //Entity.DB_ResidenceData.residenceData.functionList.floorHeatings.Add(new FloorHeating()
+                        //Entity.DB_ResidenceData.functionList.floorHeatings.Add(new FloorHeating()
                         //{
                         //    sid = "12341212345678901234560704010004ABCD",
                         //    name = "鍦扮儹",
@@ -1156,7 +1272,7 @@
 
             }
         }
-
+        */
 
         #endregion
     }

--
Gitblit v1.8.0