wei
2021-03-03 d4811b7d34b45ff6b21b97f11da128b5572ec526
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
@@ -270,14 +270,18 @@
                };
                sceneDelayRow.AddChidren(btnSceneDelayTitle);
                btnSceneDelayTitle.MouseUpEventHandler = (sender, e) =>
                {
                    Action<string> action = (obj) => {
                        scene.delay = obj;
                        btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj);
                    };
                    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()
@@ -499,10 +503,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);
@@ -523,12 +524,12 @@
            var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
            if (briState != null)
            {
                sceneFunctionInfo += 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 += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
                sceneFunctionInfo += perState.value + "%";
            }
            return sceneFunctionInfo;
@@ -827,17 +828,40 @@
                        return;
                    }
                }
                var result = FunctionList.List.AddScene(scene,out scene);
                if (result == StateCode.SUCCESS)
                var waitPage = new Loading();
                MainPage.BaseView.AddChidren(waitPage);
                waitPage.Start(Language.StringByID(StringId.PleaseWait));
                new System.Threading.Thread(() =>
                {
                    FunctionList.List.scenes.Add(scene);
                    backAction();
                    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();
            };
        }