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/SceneAddPage.cs |  129 +++++++++++++-----------------------------
 1 files changed, 40 insertions(+), 89 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
index 6b4111e..51aa5fc 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
@@ -196,7 +196,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                TextID = StringId.BelongToZone,
+                TextID = StringId.LocationManagement,
             };
             belongToZoneRow.AddChidren(btnBelongToTitle);
 
@@ -217,7 +217,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);
 
@@ -270,7 +270,6 @@
                 };
                 sceneDelayRow.AddChidren(btnSceneDelayTitle);
 
-
                 btnSceneDelayTitle.MouseUpEventHandler = (sender, e) =>
                 {
                     Action<string> action = (obj) => {
@@ -312,7 +311,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = StringId.AddFunction,
+                TextID = StringId.FunctionManagement,
                 IsBold = true,
             };
             addFunctionRow.AddChidren(btnAddFunctionTitle);
@@ -477,7 +476,6 @@
                 row.AddRightView(btnDelSceneFunction);
                 btnDelSceneFunction.MouseUpEventHandler = (sender, e) => {
                     scene.functions.Remove(scenefunction);
-                    scene.SaveSceneData(true);
                     row.RemoveFromParent();
                     functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
                 };
@@ -500,10 +498,7 @@
                 }
             }
 
-            if (sceneFunction.status.Count == 0)
-            {
-                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);
@@ -524,81 +519,14 @@
             var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
             if (briState != null)
             {
-                sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
+                sceneFunctionInfo += briState.value + "%";
             }
             var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
             if (perState != null)
             {
-                sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
+                sceneFunctionInfo += perState.value + "%";
             }
 
-            //FunctionAttributes perTrait;
-
-            //switch (sceneFunction.localFunction.functionType)
-            //{
-                //case FunctionType.AC:
-                    //var acMode = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode);
-                    //var acTemp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp);
-                    //var acFan = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
-                    //if (acMode != null)
-                    //{
-                    //    sceneFunctionInfo += FunctionList.List.GetValueText(acMode.key, acMode.value);
-                    //}
-                    //if (acTemp != null)
-                    //{
-                    //    sceneFunctionInfo += FunctionList.List.GetValueText(acTemp.key, acTemp.value);
-                    //    sceneFunctionInfo += FunctionList.List.GetUintString(acTemp.key);
-                    //}
-                    //if (acFan!=null)
-                    //{
-                    //    sceneFunctionInfo += FunctionList.List.GetValueText(acFan.key, acFan.value);
-                    //}
-                //    break;
-                //case FunctionType.FloorHeating:
-                    //sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
-                    //sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() +
-                    //     sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString;
-                    //break;
-                //case FunctionType.Dimmer:
-                    //perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness");
-                    //if (perTrait != null)
-                    //{
-                    //    sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
-                    //}
-                    //else
-                    //{
-                    //    sceneFunctionInfo += Language.StringByID(StringId.Open);
-                    //}
-                    //break;
-                //case FunctionType.Relay:
-                //    sceneFunctionInfo += Language.StringByID(StringId.Open);
-                //    break;
-                //case FunctionType.RGB:
-                //    perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
-                //    if (perTrait != null)
-                //    {
-                //        sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
-                //    }
-                //    else
-                //    {
-                //        sceneFunctionInfo += Language.StringByID(StringId.Open);
-                //    }
-                //    break;
-                //case FunctionType.Curtain:
-                //    sceneFunctionInfo += Language.StringByID(StringId.Open);
-                //    break;
-                //case FunctionType.MotorCurtain:
-                //    perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
-                //    if (perTrait != null)
-                //    {
-                //        sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
-                //    }
-                //    else
-                //    {
-                //        sceneFunctionInfo += Language.StringByID(StringId.Open);
-                //    }
-                //    break;
-            //}
             return sceneFunctionInfo;
         }
 
@@ -836,6 +764,7 @@
                 pictureOptionView.Parent.RemoveFromParent();
                 Action<string> action = (obj) => {
                     scene.ImagePath = obj;
+                    addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath
                     addSceneImageView.ImagePath = scene.ImagePath;
                 };
 
@@ -894,18 +823,40 @@
                         return;
                     }
                 }
-                string result = "";
-                var addScene = FunctionList.List.AddScene(scene,out result);
-                if (addScene != null)
+                var waitPage = new Loading();
+                MainPage.BaseView.AddChidren(waitPage);
+                waitPage.Start(Language.StringByID(StringId.PleaseWait));
+                new System.Threading.Thread(() =>
                 {
-                    FunctionList.List.scenes.Add(scene);
-                    backAction();
-                    this.RemoveFromParent();
-                }
-                else
-                {
-                    IMessageCommon.Current.ShowErrorInfoAlter(result);
-                }
+                    try
+                    {
+                        var serverScene = new Scene();
+                        var result = FunctionList.List.AddScene(scene, out serverScene);
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (result == StateCode.SUCCESS)
+                            {
+                                scene = serverScene;
+                                FunctionList.List.scenes.Add(scene);
+                                backAction();
+                                RemoveFromParent();
+                            }
+                            else
+                            {
+                                IMessageCommon.Current.ShowErrorInfoAlter(result);
+                            }
+                        });
+                    }
+                    catch { }
+                    finally
+                    {
+                        Application.RunOnMainThread(() => {
+                            waitPage.Hide();
+                            waitPage.RemoveFromParent();
+                        });
+                    }
+                })
+                { IsBackground = true, Priority = ThreadPriority.AboveNormal }.Start();
             };
         }
 

--
Gitblit v1.8.0