From 263401d40b2d9d2c1b36a24f33d45c5cb7192518 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 23 十二月 2020 15:51:54 +0800
Subject: [PATCH] 20201223-6

---
 HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs |   74 +++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 31 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index 76d7f8f..2116491 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -202,7 +202,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                TextID = StringId.BelongToZone,
+                TextID = StringId.LocationManagement,
             };
             belongToZoneRow.AddChidren(btnBelongToTitle);
 
@@ -223,7 +223,7 @@
                 TextAlignment = TextAlignment.CenterRight,
                 TextColor = CSS_Color.PromptingColor1,
                 TextSize = CSS_FontSize.TextFontSize,
-                Text = scene.GetRoomListName() == "" ? Language.StringByID(StringId.WholeHouseScene) : scene.GetRoomListName()
+                Text = scene.GetRoomListName() == "" ? Language.StringByID(StringId.WholeZone) : scene.GetRoomListName()
             };
             belongToZoneRow.AddChidren(btnZoneName);
 
@@ -319,7 +319,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = StringId.AddFunction,
+                TextID = StringId.FunctionManagement,
                 IsBold = true,
             };
             addFunctionRow.AddChidren(btnAddFunctionTitle);
@@ -373,32 +373,40 @@
 
             var waitPage = new Loading();
             new Thread(() => {
-                Application.RunOnMainThread(() => {
-                    bodyView.AddChidren(waitPage);
-                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
-                });
-                var pm = new HttpServerRequest();
-                var pack = pm.GetSceneInfo(scene.userSceneId);
-                if (pack.Code == StateCode.SUCCESS)
+                try
                 {
-                    var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
-                    var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
-                    if(tempScene!= null)
-                    {
-                        scene.functions = tempScene.functions;
-                    }
                     Application.RunOnMainThread(() =>
                     {
-                        LoadFunctionRow();
-                        waitPage.Hide();
+                        bodyView.AddChidren(waitPage);
+                        waitPage.Start(Language.StringByID(StringId.PleaseWait));
                     });
+                    var pm = new HttpServerRequest();
+                    var pack = pm.GetSceneInfo(scene.userSceneId);
+                    if (pack.Code == StateCode.SUCCESS)
+                    {
+                        var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
+                        var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
+                        if (tempScene != null)
+                        {
+                            scene.functions = tempScene.functions;
+                        }
+                        Application.RunOnMainThread(() =>
+                        {
+                            LoadFunctionRow();
+                            waitPage.Hide();
+                        });
+                    }
+                    else
+                    {
+                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                    }
                 }
-                else
+                catch { }
+                finally
                 {
                     Application.RunOnMainThread(() =>
                     {
                         waitPage.Hide();
-                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
                     });
                 }
             }).Start();
@@ -410,8 +418,15 @@
         {
             functionListView.RemoveAll();
             functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
-            foreach (var scenefunction in scene.functions)
+            for(int i =0;i<scene.functions.Count;)
             {
+                var scenefunction = scene.functions[i];
+                if (scenefunction.localFunction == null)
+                {
+                    scene.functions.Remove(scenefunction);
+                    continue;
+                }
+                i++;
                 var row = new RowLayout()
                 {
                     Height = Application.GetRealWidth(65),
@@ -538,37 +553,33 @@
                         return Language.StringByID(StringId.Close);
                 }
             }
-
-            if (sceneFunction.status.Count == 1)
-            {
-                return sceneFunctionInfo += Language.StringByID(StringId.Open);
-            }
+            sceneFunctionInfo += Language.StringByID(StringId.Open) + " ";
 
             var modeState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode);
             var tempState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp);
             var fanState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
             if (modeState != null)
             {
-                sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value);
+                sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value) + " ";
             }
             if (tempState != null)
             {
-                sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value);
+                sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value) + " ";
                 sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key);
             }
             if (fanState != null)
             {
-                sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value);
+                sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value) + " ";
             }
             var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
             if (briState != null)
             {
-                sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + briState.value + "%";
+                sceneFunctionInfo += briState.value + "%";
             }
             var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
             if (perState != null)
             {
-                sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + perState.value + "%";
+                sceneFunctionInfo += perState.value + "%";
             }
             return sceneFunctionInfo;
         }
@@ -792,6 +803,7 @@
                 pictureOptionView.Parent.RemoveFromParent();
                 Action<string> action = (obj) => {
                     scene.ImagePath = obj;
+                    addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath
                     addSceneImageView.ImagePath = scene.ImagePath;
                     scene.EditScene();
                 };

--
Gitblit v1.8.0