wei
2020-12-23 263401d40b2d9d2c1b36a24f33d45c5cb7192518
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
@@ -270,7 +270,6 @@
                };
                sceneDelayRow.AddChidren(btnSceneDelayTitle);
                btnSceneDelayTitle.MouseUpEventHandler = (sender, e) =>
                {
                    Action<string> action = (obj) => {
@@ -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;//解决有ImageBytes不加载ImagePath
                    addSceneImageView.ImagePath = scene.ImagePath;
                };
@@ -894,18 +823,40 @@
                        return;
                    }
                }
                string result = "";
                var addScene = FunctionList.List.AddScene(scene,out scene);
                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();
                    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();
            };
        }