From 2a23fbede38fadaf7060510a3cd72a93a8a95ec0 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 18 十二月 2020 17:49:46 +0800 Subject: [PATCH] 2020-12-18-3 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 205 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 132 insertions(+), 73 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs index 2dafbbf..049a185 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs @@ -245,7 +245,7 @@ #endregion #region 鍦烘櫙寤舵椂row - if (DB_ResidenceData.residenceData.GatewayType == 1) + if (DB_ResidenceData.Instance.GatewayType == 1) { FrameLayout sceneDelayRow = new FrameLayout() { @@ -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> /// 鍔犺浇鍔熻兘鍒楄〃 @@ -489,7 +520,7 @@ row.AddRightView(btnDelSceneFunction); btnDelSceneFunction.MouseUpEventHandler = (sender, e) => { scene.functions.Remove(scenefunction); - scene.SaveSceneData(); + scene.SaveSceneData(true); row.RemoveFromParent(); functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); //LoadFunctionRow(functionListView); @@ -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_temperature").curValue.ToString() + - sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").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_temperature").curValue.ToString() + - sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").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; } @@ -813,7 +872,7 @@ addSceneImageView.ImagePath = scene.ImagePath; if (pageTitleId == StringId.EditScene) { - scene.SaveSceneData(); + scene.SaveSceneData(true); } }; @@ -844,7 +903,7 @@ scene.ImagePath = imageUrl; if (pageTitleId == StringId.EditScene) { - scene.SaveSceneData(); + scene.SaveSceneData(true); } }; //涓婁紶鍥剧墖鍒颁簯绔� @@ -870,7 +929,7 @@ }.Show(bodyView); return; } - foreach (var tempRoom in DB_ResidenceData.functionList.scenes) + foreach (var tempRoom in FunctionList.List.scenes) { if (scene.name == tempRoom.name) { @@ -878,8 +937,8 @@ return; } } - scene.SaveSceneData(); - DB_ResidenceData.functionList.scenes.Add(scene); + scene.SaveSceneData(true); + FunctionList.List.scenes.Add(scene); backAction(); this.RemoveFromParent(); } @@ -887,11 +946,11 @@ { Action action = () => { - DB_ResidenceData.DelSceneFunction(scene.sid); + FunctionList.List.DeleteScene(scene,true); backAction(); this.RemoveFromParent(); }; - new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteSceneTip, action); + new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteSceneTip, action); }; }; } @@ -919,13 +978,13 @@ scene.name = str; if (pageTitleId == StringId.EditScene) { - scene.SaveSceneData(); + scene.SaveSceneData(true); } }; EventHandler<MouseEventArgs> eventHandler = (sender, e) => { List<string> sceneNameList = new List<string>(); - foreach (var tempScene in DB_ResidenceData.functionList.scenes) + foreach (var tempScene in FunctionList.List.scenes) { sceneNameList.Add(tempScene.name); } @@ -946,7 +1005,7 @@ { try { - MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + selectImagePath); + //MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + selectImagePath); //1.璇诲彇瑁佸壀鍚庣殑鍥剧墖锛岀劧鍚庡垹闄� var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath); System.IO.File.Delete(selectImagePath); @@ -962,7 +1021,7 @@ var newImageName = mScene.name.Trim() + ".png"; var uploadImageObj = new UploadImageObj() { - prefix = "ONS", + prefix = "Scene" + Utlis.GetTimestamp(), fileName = newImageName, uid = mScene.sid, content = imageBytes, @@ -974,15 +1033,15 @@ //涓婁紶鎴愬姛 Application.RunOnMainThread(() => { - Utlis.WriteLine("涓婁紶鎴愬姛锛�" + imageUrl); + //Utlis.WriteLine("涓婁紶鎴愬姛锛�" + imageUrl); //1.2濡傛灉鏄嚜瀹氫箟鍥剧墖鍒犻櫎涔嬪墠鐨� - if (!imageView.ImagePath.Contains("Classification/Room/Roombg")) + if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("Classification/Room/Roombg")) { - Utlis.WriteLine("鍒犻櫎: " + imageView.ImagePath); + //Utlis.WriteLine("鍒犻櫎: " + imageView.ImagePath); System.IO.File.Delete(imageView.ImagePath); } //閲嶅懡鍚嶄繚瀛� - FileUtils.WriteFileByBytes(imageUrl, imageBytes); + ImageUtlis.Current.WriteFileByBytes(imageUrl, imageBytes); imageView.ImagePath = null; imageView.ImageBytes = imageBytes; //涓婁紶鎴愬姛 -- Gitblit v1.8.0