From fcde8ea5ceb4c208f9a6e7a972666d0045850e3f Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 26 三月 2021 17:36:05 +0800
Subject: [PATCH] 2021-03-26 1.更新
---
Crabtree/SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 161 insertions(+), 0 deletions(-)
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs
index c725d7f..2d2121b 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs
@@ -145,6 +145,13 @@
if (null == common) {
continue;
}
+
+ var newName = CheckIfNameChanged (deviceFilePath, common.Type.ToString(), common.Name);
+ if (!string.IsNullOrEmpty (newName)) {
+ Utlis.WriteLine (common.Name + " 鍦烘櫙璁惧鏂板娉細" + newName);
+ common.Name = newName;
+ }
+
string iconPath = "";
if (common.Type == DeviceType.UniversalDevice) {
@@ -2536,5 +2543,159 @@
}
}
}
+
+
+
+ /// <summary>
+ /// 2021-03-26
+ /// 妫�娴嬪垽鏂娉ㄥ悕鏄惁淇敼杩囷紝淇敼杩囧垯鏇存柊涓�娆�
+ /// 淇娴嬭瘯鍙嶉BUG锛堣澶囧娉ㄤ慨鏀瑰悗锛屽満鏅噷闈㈢殑璁惧澶囨敞娌℃湁鍚屾锛岄渶鍒犻櫎鍘熸潵璁惧閲嶆柊娣诲姞锛屽娉ㄦ墠鏇存柊銆傦級
+ /// </summary>
+ /// <param name="deviceFilePath"></param>
+ /// <param name="deviceType"></param>
+ /// <param name="deviceName"></param>
+ string CheckIfNameChanged (string deviceFilePath, string deviceType, string deviceName)
+ {
+ try {
+ string [] str = deviceFilePath.Split (Constant.Equipment);
+ if (str == null || str.Length != 2) return "";
+ //1.鎵惧嚭鏈湴鐪熷疄鐨勮澶�
+ string trueDeviceFilePath = Constant.Equipment + str [1];
+ Common common = Newtonsoft.Json.JsonConvert.DeserializeObject<Common> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (trueDeviceFilePath)));
+ if (null == common) {
+ return "";
+ }
+ //2.鏈湴瀛樺湪鐪熷疄璁惧锛屽垽鏂娉ㄦ槸鍚︿竴鑷�
+ if (deviceName.Equals (common.Name) || deviceName == common.Name) return "";
+ //3.涓嶄竴鑷存洿鏂板娉ㄤ繚瀛樺埌鏈湴
+ string newName = common.Name;
+ //4.杩欓噷娉ㄦ剰锛氳浆鎹㈡垚褰撳墠璁惧绫诲瀷鐨勫璞★紝涓嶈兘杞崲鎴怌ommon锛屼笉鐒朵繚瀛樺悗浼氫涪澶辫缃殑鎺у埗鐘舵�佸�兼暟鎹��
+ if (deviceType == DeviceType.LightSwitch.ToString () || deviceType == DeviceType.LightEnergySocket.ToString () || deviceType == DeviceType.LightEnergySwitch.ToString () || deviceType == DeviceType.LightSwitchSocket.ToString ()) {
+ LightSwitch lightSwitch = Newtonsoft.Json.JsonConvert.DeserializeObject<LightSwitch> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (null == lightSwitch) {
+ return "";
+ }
+ lightSwitch.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightSwitch)));
+
+ } else if (deviceType == DeviceType.LightMixSwitch.ToString ()) {
+ LightMixSwitch lightSwitch = Newtonsoft.Json.JsonConvert.DeserializeObject<LightMixSwitch> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (null == lightSwitch) {
+ return "";
+ }
+ lightSwitch.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightSwitch)));
+
+ } else if (deviceType == DeviceType.LightDimming.ToString ()) {
+ LightDimming lightDimming = Newtonsoft.Json.JsonConvert.DeserializeObject<LightDimming> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (null == lightDimming) {
+ return "";
+ }
+ lightDimming.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightDimming)));
+
+
+ } else if (deviceType == DeviceType.LightMixDimming.ToString ()) {
+ LightMixDimming lightDimming = Newtonsoft.Json.JsonConvert.DeserializeObject<LightMixDimming> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (null == lightDimming) {
+ return "";
+ }
+ lightDimming.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightDimming)));
+
+
+ } else if (deviceType == DeviceType.LightRGB.ToString ()) {
+ LightLogic lightRGB = Newtonsoft.Json.JsonConvert.DeserializeObject<LightLogic> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (null == lightRGB) {
+ return "";
+ }
+
+ lightRGB.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (lightRGB)));
+
+ } else if (deviceType == DeviceType.CurtainModel.ToString () || deviceType == DeviceType.CurtainTrietex.ToString () || deviceType == DeviceType.CurtainRoller.ToString ()) {
+ if (deviceType == DeviceType.CurtainModel.ToString ()) {
+ #region CurtainModelView
+ CurtainModel curtainmodel = Newtonsoft.Json.JsonConvert.DeserializeObject<CurtainModel> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (curtainmodel == null) {
+ return "";
+ }
+ curtainmodel.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (curtainmodel)));
+
+ #endregion
+ } else if (deviceType == DeviceType.CurtainTrietex.ToString ()) {
+ #region CurtainTrietexlView
+ CurtainTrietex curtaintretex = Newtonsoft.Json.JsonConvert.DeserializeObject<CurtainTrietex> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (curtaintretex == null) {
+ return "";
+ }
+ curtaintretex.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (curtaintretex)));
+
+ #endregion
+ } else if (deviceType == DeviceType.CurtainRoller.ToString ()) {
+ #region CurtainRollerlView
+ CurtainRoller curtainroller = Newtonsoft.Json.JsonConvert.DeserializeObject<CurtainRoller> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (curtainroller == null) {
+ return "";
+ };
+ curtainroller.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (curtainroller)));
+
+
+ } else {
+ return "";
+ }
+ #endregion
+ } else if (deviceType == DeviceType.HVAC.ToString () || deviceType == DeviceType.ACInfrared.ToString () || deviceType == DeviceType.ACPanel.ToString ()) {
+ AC ac = Newtonsoft.Json.JsonConvert.DeserializeObject<AC> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (ac == null) {
+ return "";
+ }
+ ac.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (ac)));
+
+ } else if (deviceType == DeviceType.FoolHeat.ToString () || deviceType == DeviceType.FoolHeatPanel.ToString ()) {
+ FoolHeat fh = Newtonsoft.Json.JsonConvert.DeserializeObject<FoolHeat> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (fh == null)
+ return "";
+
+ fh.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (fh)));
+
+ } else if (deviceType == DeviceType.DryContact.ToString ()) {
+
+ } else if (deviceType == DeviceType.MusicModel.ToString ()) {
+
+ } else if (deviceType == DeviceType.FanModule.ToString ()) {
+ #region FanModuleView
+ FanModule fanModule = Newtonsoft.Json.JsonConvert.DeserializeObject<FanModule> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (fanModule == null) {
+ return "";
+ }
+ fanModule.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (fanModule)));
+
+ #endregion
+ } else if (deviceType == DeviceType.UniversalDevice.ToString ()) {
+ #region UniversalDevice
+ UniversalDevice udDevice = Newtonsoft.Json.JsonConvert.DeserializeObject<UniversalDevice> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
+ if (udDevice == null) {
+ return "";
+ }
+ udDevice.Name = newName;
+ IO.FileUtils.WriteFileByBytes (deviceFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (udDevice)));
+ #endregion
+ } else {
+ return "";
+ }
+
+
+ return newName;
+ } catch {
+ return "";
+ }
+ }
}
}
\ No newline at end of file
--
Gitblit v1.8.0