From 1ba40bc52716e732f53bf74a68db9eb9d75c0844 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 16 十二月 2020 10:42:04 +0800 Subject: [PATCH] 20201216-1 --- HDL_ON/Entity/Function/Scene.cs | 38 +++++++++ HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 2 HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs | 4 HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 132 +++++--------------------------- HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 11 ++ .vs/HDL_APP_Project/xs/UserPrefs.xml | 24 ++++-- HDL_ON/DAL/DriverLayer/Control.cs | 2 HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs | 2 8 files changed, 92 insertions(+), 123 deletions(-) diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml index 4a60fe3..875a7c7 100644 --- a/.vs/HDL_APP_Project/xs/UserPrefs.xml +++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml @@ -1,10 +1,18 @@ 锘�<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default"> <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.6242be7109c740c6cb8999a8904b6e0ea8d45192" /> - <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs"> + <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs"> <Files> <File FileName="HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs" Line="246" Column="57" /> <File FileName="HDL_ON/Entity/FunctionList.cs" Line="603" Column="87" /> - <File FileName="HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs" Line="269" Column="55" /> + <File FileName="HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs" Line="266" Column="1" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs" Line="487" Column="48" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs" Line="896" Column="34" /> + <File FileName="HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs" Line="115" Column="49" /> + <File FileName="HDL_ON/DAL/DriverLayer/Control.cs" Line="371" Column="42" /> + <File FileName="HDL_ON/Entity/Function/Scene.cs" Line="266" Column="29" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs" Line="367" Column="36" /> + <File FileName="HDL_ON/UI/UI2/1-HomePage/HomePage.cs" Line="515" Column="32" /> + <File FileName="HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs" Line="84" Column="36" /> </Files> <Pads> <Pad Id="ProjectPad"> @@ -23,14 +31,14 @@ <Node name="UI" expanded="True"> <Node name="UI0-Public" expanded="True" /> <Node name="UI2" expanded="True"> - <Node name="1-HomePage" expanded="True" /> + <Node name="1-HomePage" expanded="True"> + <Node name="HomePageBLL.cs" selected="True" /> + </Node> <Node name="3-Intelligence" expanded="True"> <Node name="Scene" expanded="True" /> </Node> <Node name="FuntionControlView" expanded="True"> - <Node name="AC" expanded="True"> - <Node name="ACPage.cs" selected="True" /> - </Node> + <Node name="AC" expanded="True" /> <Node name="FoolHeating" expanded="True" /> </Node> </Node> @@ -65,8 +73,8 @@ <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.SelectDevice" /> <MonoDevelop.Ide.DebuggingService.Breakpoints> <BreakpointStore> - <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Scene.cs" relfile="HDL_ON/Entity/Function/Scene.cs" line="285" column="1" /> - <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmebly.cs" relfile="HDL_ON/UI/UI0-Public/PublicAssmebly.cs" line="630" column="1" /> + <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Scene.cs" relfile="HDL_ON/Entity/Function/Scene.cs" line="323" column="1" /> + <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs" relfile="HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs" line="505" column="1" /> </BreakpointStore> </MonoDevelop.Ide.DebuggingService.Breakpoints> <MultiItemStartupConfigurations /> diff --git a/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs b/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs index 2f9d232..be70231 100644 --- a/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs +++ b/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs @@ -112,7 +112,7 @@ { get { - return $"/base/{Control.Ins.GatewayId}/custom/scene/execute"; + return $"/user/{Control.Ins.GatewayId}/custom/scene/execute"; } } } diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs index 7663b04..4c86695 100644 --- a/HDL_ON/DAL/DriverLayer/Control.cs +++ b/HDL_ON/DAL/DriverLayer/Control.cs @@ -368,7 +368,7 @@ else { Dictionary<string, string> keys = new Dictionary<string, string>(); - keys.Add("sid", scene.userSceneId); + keys.Add("sid", scene.sid); var aLinkData = new AlinkReadFunctionStatusObj() { id = Ins.msg_id.ToString(), diff --git a/HDL_ON/Entity/Function/Scene.cs b/HDL_ON/Entity/Function/Scene.cs index 8f10776..207a844 100644 --- a/HDL_ON/Entity/Function/Scene.cs +++ b/HDL_ON/Entity/Function/Scene.cs @@ -256,6 +256,44 @@ MainPage.Log($"Save Scene Data : {savePath}"); } } + /// <summary> + /// 鏀惰棌鍦烘櫙 + /// </summary> + /// <returns></returns> + public string CollectScene() + { + var pm = new HttpServerRequest(); + if (this.collect) + { + var revPack = pm.CollectScene(this.userSceneId); + return revPack; + } + else + { + var revPack = pm.CancelCollectScene(this.userSceneId); + return revPack; + } + } + + /// <summary> + /// 缂栬緫鍦烘櫙 + /// </summary> + public string EditScene() + { + var pm = new HttpServerRequest(); + var revPack = pm.EditScene(this); + if (revPack.Code == StateCode.SUCCESS) + { + var scenes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString()); + var tempScene = scenes.Find((obj) => obj.sid == sid); + if (tempScene != null) + { + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene)); + Common.FileUtlis.Files.WriteFileByBytes(savePath, ssd); + } + } + return revPack.Code; + } /// <summary> /// 淇敼鍦烘櫙 diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 83b6eee..804209e 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -908,7 +908,7 @@ }; var aep = new SceneEditPage(scene, backAction); MainPage.BasePageView.AddChidren(aep); - aep.LoadPage(StringId.EditScene, refreshAction); + aep.LoadPage( refreshAction); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs index 4cc12db..b995002 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs @@ -364,7 +364,7 @@ view.AddChidren(btnCollection); btnCollection.MouseUpEventHandler = (sender, e) => { scene.collect = btnCollection.IsSelected = !btnCollection.IsSelected; - scene.SaveSceneData(true); + scene.CollectScene(); }; LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene); btnSettingIcon.MouseUpEventHandler = (sender, e) => { @@ -379,7 +379,7 @@ }; var aep = new SceneEditPage(scene, backAction); MainPage.BasePageView.AddChidren(aep); - aep.LoadPage(StringId.EditScene, refreshAction); + aep.LoadPage(refreshAction); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs index ff038fd..76d7f8f 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs @@ -76,7 +76,6 @@ Scene scene; - int pageTitleId; /// <summary> /// 鏇存柊鍔熻兘row /// </summary> @@ -97,17 +96,9 @@ }; } - public void LoadPage(int titleId,Action backRefresh) + public void LoadPage(Action backRefresh) { - pageTitleId = titleId; - new TopViewDiv(bodyView, Language.StringByID(pageTitleId)).LoadTopView(backRefresh); - initPage(); - } - - public void LoadPage(int titleId) - { - pageTitleId = titleId; - new TopViewDiv(bodyView, Language.StringByID(pageTitleId)).LoadTopView(); + new TopViewDiv(bodyView, Language.StringByID(StringId.EditScene)).LoadTopView(backRefresh); initPage(); } @@ -291,6 +282,7 @@ Action<string> action = (obj) => { scene.delay = obj; btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj); + scene.EditScene(); }; new PublicAssmebly().SetSceneDelayDialog(action,scene.delay); }; @@ -369,9 +361,9 @@ Y = Application.GetRealHeight(667 - 50), Height = Application.GetRealHeight(50), TextAlignment = TextAlignment.Center, - TextColor = pageTitleId == StringId.NewScene ? CSS_Color.MainColor : CSS_Color.WarningColor, + TextColor = CSS_Color.WarningColor, TextSize = CSS_FontSize.SubheadingFontSize, - TextID = pageTitleId == StringId.NewScene ? StringId.Complete : StringId.Del, + TextID = StringId.Del, BackgroundColor = CSS_Color.MainBackgroundColor, //IsBold = true }; @@ -523,13 +515,11 @@ row.AddRightView(btnDelSceneFunction); btnDelSceneFunction.MouseUpEventHandler = (sender, e) => { scene.functions.Remove(scenefunction); - scene.SaveSceneData(true); + scene.EditScene(); row.RemoveFromParent(); functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); //LoadFunctionRow(functionListView); }; - - } } @@ -549,7 +539,7 @@ } } - if (sceneFunction.status.Count == 0) + if (sceneFunction.status.Count == 1) { return sceneFunctionInfo += Language.StringByID(StringId.Open); } @@ -580,61 +570,6 @@ { 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; } @@ -747,7 +682,14 @@ EventHandler<MouseEventArgs> eventHandler = (sender, e) => { Action backAction = () => { - btnZoneName.Text = scene.GetRoomListName(); + var result = scene.EditScene(); + if (result == StateCode.SUCCESS) + { + btnZoneName.Text = scene.GetRoomListName(); + }else + { + IMessageCommon.Current.ShowErrorInfoAlter(result); + } }; var ssl = new SetSceneLocationPage(scene, backAction); MainPage.BasePageView.AddChidren(ssl); @@ -808,30 +750,12 @@ { btnTakePicture.IsSelected = false; - //var pid = Guid.NewGuid(); - //CropImage.TakePicture((imagePath) => - //{ - // if (imagePath != null) - // { - // addSceneImageView.ImagePath = imagePath.ToString(); - // scene.ImagePath = addSceneImageView.ImagePath; - // MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath); - // } - //}, pid.ToString(), 4, 3); - - var imageName = Guid.NewGuid().ToString(); - //var imageName = scene.sid; CropImage.TakePicture((imagePath) => { CropImageCallBack(imagePath); - }, imageName, 4, 3); - //if (pageTitleId == StringId.EditScene) - //{ - // scene.SaveFunctionData(); - //} pictureOptionView.Parent.RemoveFromParent(); }; btnAlbum.MouseDownEventHandler = (sender, e) => { @@ -861,10 +785,6 @@ }, imageName, 4, 3); - //if (pageTitleId == StringId.EditScene) - //{ - // scene.SaveFunctionData(); - //} pictureOptionView.Parent.RemoveFromParent(); }; @@ -873,10 +793,7 @@ Action<string> action = (obj) => { scene.ImagePath = obj; addSceneImageView.ImagePath = scene.ImagePath; - if (pageTitleId == StringId.EditScene) - { - scene.SaveSceneData(true); - } + scene.EditScene(); }; var galleryPage = new GalleryPage(scene.ImagePath,action); @@ -902,12 +819,9 @@ //涓婁紶鎴愬姛鍒板洖璋� Action<string> uploadSuccessAction = (imageUrl) => { - //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔� - scene.ImagePath = imageUrl; - if (pageTitleId == StringId.EditScene) - { - scene.SaveSceneData(true); - } + //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔� + scene.ImagePath = imageUrl; + scene.EditScene(); }; //涓婁紶鍥剧墖鍒颁簯绔� UploadImage(selectImagePath, addSceneImageView, scene, uploadSuccessAction); @@ -940,7 +854,7 @@ return; } } - scene.SaveSceneData(true); + scene.EditScene(); FunctionList.List.scenes.Add(scene); backAction(); this.RemoveFromParent(); @@ -977,11 +891,11 @@ }.Show(bodyView); return; } - btnSceneName.Text = str; scene.name = str; - if (pageTitleId == StringId.EditScene) + var result = scene.EditScene(); + if (result == StateCode.SUCCESS) { - scene.SaveSceneData(true); + btnSceneName.Text = str; } }; EventHandler<MouseEventArgs> eventHandler = (sender, e) => diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs index 6699d3e..3485bdd 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs @@ -407,6 +407,10 @@ /// <param name="btn"></param> void LoadEditDialog_Temp(SceneFunctionStatus trait, Button btn) { + double temp = 16; + double.TryParse(trait.value, out temp); + trait.value = temp.ToString(); + List<string> pickerItems = new List<string>(); if(trait == null) { @@ -479,7 +483,12 @@ uIPickerView.setNPicker(pickerItems, null, null); optionBaseView.AddChidren(uIPickerView); uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5); - string selectItem = trait.value.ToString() + FunctionList.List.GetUintString(trait.key); + + string selectItem = pickerItems[0]; + if (pickerItems.Contains(trait.value + FunctionList.List.GetUintString(trait.key))) + { + selectItem = trait.value.ToString() + FunctionList.List.GetUintString(trait.key); + } dialog.Show(); -- Gitblit v1.8.0