wei
2020-12-15 7467a843644aee00e5a4d91dd967cdb9e30f1985
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -374,6 +374,37 @@
            bodyView.AddChidren(btnComplete);
            LoadEventList();
            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)
                {
                    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(() =>
                    {
                        waitPage.Hide();
                    });
                }
                else
                {
                    Application.RunOnMainThread(() =>
                    {
                        waitPage.Hide();
                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
                    });
                }
            }).Start();
        }
        /// <summary>
        /// 加载功能列表
@@ -513,66 +544,94 @@
                    if (sfs.value == "off")
                        return Language.StringByID(StringId.Close);
                }
                if (sfs.key == FunctionAttributeKey.Mode)
                {
                }
            }
            FunctionAttributes perTrait;
            switch (sceneFunction.localFunction.functionType)
            if (sceneFunction.status.Count == 0)
            {
                case FunctionType.AC:
                    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;
                    sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText();
                    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 += 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);
            }
            if (tempState != null)
            {
                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);
            }
            var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
            if (briState != null)
            {
                sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + briState.value + "%";
            }
            var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
            if (perState != null)
            {
                sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + perState.value + "%";
            }
            //FunctionAttributes perTrait;
            //switch (sceneFunction.localFunction.functionType)
            //{
            //    case FunctionType.AC:
            //        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;
            //        sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText();
            //        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;
        }