From 1d1cad99a27c9f644c84eb3d376c70bd30a55879 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 10 三月 2021 18:02:13 +0800
Subject: [PATCH] 2021-3-10-1

---
 HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs |   85 ++++++++++++++++++++++++++----------------
 1 files changed, 52 insertions(+), 33 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index d317393..406ef9f 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -261,7 +261,7 @@
                     TextAlignment = TextAlignment.CenterRight,
                     TextColor = CSS_Color.PromptingColor1,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                    Text = FunctionList.List.GetDelayText( scene.delay)
+                    Text = scene.GetDelayText()
                 };
                 sceneDelayRow.AddChidren(btnSceneDelayInfo);
 
@@ -281,10 +281,15 @@
                 {
                     Action<string> action = (obj) => {
                         scene.delay = obj;
-                        btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj);
+                        btnSceneDelayInfo.Text = scene.GetDelayText();
                         scene.EditScene();
                     };
-                    new PublicAssmebly().SetSceneDelayDialog(action,scene.delay);
+                    Dictionary<string, string> items = new Dictionary<string, string>();
+                    items.Add("30", "30s");
+                    items.Add("60", "1min");
+                    items.Add("120", "2min");
+                    items.Add("300", "5min");
+                    new PublicAssmebly().SetSceneDelayDialog(items,action,scene.delay);
                 };
 
                 contentView.AddChidren(new Button()
@@ -373,32 +378,42 @@
 
             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();
+                            waitPage.RemoveFromParent();
+                        });
+                    }
+                    else
+                    {
+                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                    }
                 }
-                else
+                catch { }
+                finally
                 {
                     Application.RunOnMainThread(() =>
                     {
                         waitPage.Hide();
-                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                        waitPage.RemoveFromParent();
                     });
                 }
             }).Start();
@@ -410,8 +425,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),
@@ -461,7 +483,7 @@
 
                 if (Convert.ToInt32( scenefunction.delay) > 0)
                 {
-                    btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + FunctionList.List.GetDelayText(scenefunction.delay);
+                    btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + new Scene() { delay = scenefunction.delay }.GetDelayText();
                 }
                 else
                 {
@@ -538,37 +560,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 += modeState.GetValueText() + " ";
             }
             if (tempState != null)
             {
-                sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value);
-                sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key);
+                sceneFunctionInfo += tempState.GetValueText() + " ";
+                sceneFunctionInfo += tempState.GetUintString();
             }
             if (fanState != null)
             {
-                sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value);
+                sceneFunctionInfo += fanState.GetValueText() + " ";
             }
             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 +810,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