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