From d53e6af2c5f17838fa79659614b15a2a1f383399 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 31 三月 2023 10:04:58 +0800 Subject: [PATCH] 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