From f500e14c0a994487070380c50c85e0929cbc8e63 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 05 一月 2021 10:48:04 +0800
Subject: [PATCH] 2021-01-05 1.更新

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs |   55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs
index 2314279..7dbb41c 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserDeviceListPage.cs
@@ -267,6 +267,15 @@
                     globalSceneFileList = new List<string> ();
                 }
                 List<string> RoomsSceneFileList = new List<string> ();
+                //2020-07-24 澧炲姞鎴块棿鍦烘櫙
+                foreach (var r in Room.Lists) {
+                    if (string.IsNullOrEmpty (r.Name)) {
+                        continue;
+                    }
+                    if (r != null) {
+                        RoomsSceneFileList.AddRange (r.SceneFilePathList);
+                    }
+                }
                 List<string> TargetList = new List<string> ();
 
                 if (selectedDeviceType == "Scene") {
@@ -343,11 +352,11 @@
                         }
                         var commonBytes = IO.FileUtils.ReadFile (deviceFilePath);
                         if (commonBytes.Length == 0) {
-                            Console.WriteLine ("length loss");
+                            Utlis.WriteLine ("length loss");
                             continue;
                         }
                         if (commonBytes.Length == 1) {
-                            Console.WriteLine ("length loss 1");
+                            Utlis.WriteLine ("length loss 1");
                             continue;
                         }
                         if (str [1] == DeviceType.InfraredMode.ToString ()) {
@@ -451,7 +460,8 @@
                                     Gravity = Gravity.CenterHorizontal,
                                     Width = Application.GetRealWidth (350),
                                     Height = Application.GetRealHeight (70),
-                                    Text = commonDevice.Name,
+                                    //Text = commonDevice.Name,
+                                    Text = commonDevice.Name.TrimEnd (),
                                     TextAlignment = TextAlignment.Center,
                                     TextColor = SkinStyle.Current.TextColor,
                                     Radius = 1,
@@ -461,8 +471,10 @@
                                 dialogView.AddChidren (etDeviceName);
                                 etDeviceName.TextChangeEventHandler += (sender, e) => {
                                     byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
+
                                     if (remakeBytes.Length > 20) {
-                                        new Alert ("", "Remark length exceeded the limit. ", "Close").Show ();
+                                        etDeviceName.Text = CommonPage.MyEncodingGB2312.GetString (remakeBytes, 0, 20);
+                                        new Alert ("", ErrorCode.RemarkLengthExceededTheLimit, "Close").Show ();
                                     }
                                 };
 
@@ -496,8 +508,21 @@
                                 dialogBottomView.AddChidren (editor);
 
                                 editor.MouseUpEventHandler += (dff, ffd) => {
+                                    string remakeStr = etDeviceName.Text.Trim ();
+                                    if (string.IsNullOrEmpty (remakeStr)) {
+                                        //澶囨敞涓嶈兘涓虹┖
+                                        new Alert ("", ErrorCode.RemarksCannotBeEmpty, "Close").Show ();
+                                        return;
+                                    }
+
+                                    byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (remakeStr);
+                                    if (remakeBytes.Length > 20) {
+                                        new Alert ("", ErrorCode.RemarkLengthExceededTheLimit, "Close").Show ();
+                                        return;
+                                    }
+
                                     MainPage.Loading.Start ();
-                                    byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
+                                    //byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (etDeviceName.Text.Trim ());
                                     System.Threading.Tasks.Task.Run (() => {
                                         byte [] updateBytes = null;
                                         if (commonDevice.Type == DeviceType.LightSwitchSocket) {
@@ -520,7 +545,23 @@
                                         if (reBytes != null) {
                                             Application.RunOnMainThread (() => {
                                                 btnEquipment.Text = commonDevice.Name = etDeviceName.Text.Trim ();
-                                                IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
+                                                if (commonDevice.Type == DeviceType.InfraredMode) {
+                                                    //2020-07-03 淇绾㈠鐢佃淇敼鍚庡彉绾㈠妯″潡闂
+                                                    InfraredMode mTV = Newtonsoft.Json.JsonConvert.DeserializeObject<InfraredMode> (System.Text.Encoding.UTF8.GetString (commonBytes));
+                                                    if (mTV == null) {
+                                                        IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
+                                                    } else {
+                                                        mTV.Name = etDeviceName.Text.Trim ();
+                                                        IO.FileUtils.SaveEquipmentMessage (mTV, mTV.LoopID.ToString ());
+                                                    }
+                                                } else {
+                                                    IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
+                                                }
+
+
+
+
+                                                //IO.FileUtils.SaveEquipmentMessage (commonDevice, commonDevice.LoopID.ToString ());
                                                 MainPage.Loading.Hide ();
                                                 dialog.Close ();
                                             });
@@ -575,7 +616,7 @@
                             deviceScrolView.AddChidren (btnRowLine);
                         });
                     } catch (Exception ex) {
-                        Console.WriteLine (ex.Message);
+                        Utlis.WriteLine (ex.Message);
                     }
                 }
             });

--
Gitblit v1.8.0