From 271faaf6664166dc368639b9f2e577f63f901be5 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 23 十二月 2020 22:23:57 +0800 Subject: [PATCH] 20201223-99 --- HDL_ON/Entity/FunctionList.cs | 85 ++++++++++++++++++++++++++++++++---------- 1 files changed, 65 insertions(+), 20 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index f532c89..4429070 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading; +using HDL_ON.Common; using HDL_ON.DAL; using HDL_ON.DAL.Server; using Shared; @@ -91,10 +92,18 @@ /// </summary> public List<Sensor> sensorsEnvironmentalScience = new List<Sensor>(); + public List<Scene> scenes = new List<Scene>(); /// <summary> /// 鍦烘櫙鍒楄〃 /// </summary> - public List<Scene> scenes = new List<Scene>(); + //public List<Scene> Scenes + //{ + // get + // { + // List.scenes = List.scenes.OrderByDescending(o => o.createTime).ToList(); + // return List.scenes; + // } + //} /// <summary> /// 鍔熻兘鍒楄〃 /// </summary> @@ -207,7 +216,7 @@ } try { - deviceFunctionList = deviceFunctionList.OrderByDescending(o => o.usageCount).ToList(); + deviceFunctionList = deviceFunctionList.OrderByDescending(o => o.controlCounter).ToList(); } catch (Exception ex) { @@ -245,41 +254,41 @@ case FunctionType.AC: var sidObj = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); List.aCs.Add(sidObj); - sidObj.SaveFunctionData(false); + sidObj.SaveFunctionFile(); break; case FunctionType.FloorHeating: var sidObj1 = Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); List.floorHeatings.Add(sidObj1); - sidObj1.SaveFunctionData(false); + sidObj1.SaveFunctionFile(); break; case FunctionType.Dimmer: case FunctionType.RGB: case FunctionType.Relay: var sidObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); List.lights.Add(sidObj2); - sidObj2.SaveFunctionData(false); + sidObj2.SaveFunctionFile(); break; case FunctionType.Curtain: case FunctionType.RollingShutter: case FunctionType.MotorCurtain: var sidObj3 = Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); List.curtains.Add(sidObj3 ); - sidObj3.SaveFunctionData(false); + sidObj3.SaveFunctionFile(); break; case FunctionType.TV: var sidObj4 = Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); List.tVs.Add(sidObj4); - sidObj4.SaveFunctionData(false); + sidObj4.SaveFunctionFile(); break; case FunctionType.Socket: var sidObj5 = Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); List.switchSockets.Add(sidObj5); - sidObj5.SaveFunctionData(false); + sidObj5.SaveFunctionFile(); break; case FunctionType.Fan: var sidObj6 = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); List.fans.Add(sidObj6); - sidObj6.SaveFunctionData(false); + sidObj6.SaveFunctionFile(); break; case FunctionType.CO2: case FunctionType.TVOC: @@ -288,7 +297,7 @@ case FunctionType.Humidity: var sidObj7 = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); List.sensorsEnvironmentalScience.Add(sidObj7); - sidObj7.SaveFunctionData(false); + sidObj7.SaveFunctionFile(); break; } } @@ -363,7 +372,7 @@ } else { - Utlis.ShowTip(Shared.Language.StringByID(StringId.EditFunctionInfoFail) + "\r\nCode:" + pack.Code); + IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); } return pack.Code; } @@ -408,7 +417,7 @@ localFunction.modifyTime = newFunction.modifyTime; localFunction.roomIds = newFunction.roomIds; localFunction.bus = newFunction.bus; - localFunction.SaveFunctionData(false); + localFunction.SaveFunctionFile(); } deviceList.list.Remove(newFunction);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘 } @@ -417,7 +426,7 @@ //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳� foreach (var newFunction in deviceList.list) { - newFunction.SaveFunctionData(false); + newFunction.SaveFunctionFile(); List.IniFunctionList(newFunction.savePath); } } @@ -490,8 +499,10 @@ } + /// <summary> /// 鍒犻櫎鍦烘櫙 + /// todo /// </summary> public void DeleteScene(Scene scene,bool upSevser) { @@ -501,22 +512,22 @@ var packCode = pm.DeleteScene(scene.userSceneId); if (packCode == StateCode.SUCCESS) { - Common.FileUtlis.Files.DeleteFile(scene.savePath); + FileUtlis.Files.DeleteFile(scene.savePath); List.scenes.Remove(scene); } else { - Utlis.ShowTip(Shared.Language.StringByID(StringId.DeleteSceneFail) + "Code:" + packCode); + IMessageCommon.Current.ShowErrorInfoAlter(packCode); } } else { - Common.FileUtlis.Files.DeleteFile(scene.savePath); + FileUtlis.Files.DeleteFile(scene.savePath); List.scenes.Remove(scene); } } /// <summary> - /// 鍒犻櫎鏈湴鍔熻兘鏂囦欢 + /// 鍒犻櫎鏈湴鍔熻兘鍙婃枃浠� /// </summary> public void DeleteFunction(Function delTemp) { @@ -601,6 +612,7 @@ { DriverLayer.Control.Ins.SendApiReadCommand(page); page.Clear(); + count = 0; } } DriverLayer.Control.Ins.SendApiReadCommand(page); @@ -638,7 +650,7 @@ /// <summary> /// 娣诲姞鍦烘櫙 /// </summary> - public string AddScene(Scene scene,out Scene result) + public string AddScene(Scene scene, out Scene result) { Scene tempScene = null; var pm = new HttpServerRequest(); @@ -648,13 +660,46 @@ var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString()); tempScene = sceneList.Find((obj) => obj.sid == scene.sid); var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene)); - Common.FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd); + FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd); + result = tempScene; } - result = tempScene; + else + { + result = tempScene; + } return revPack.Code; } #endregion + #region 鏀惰棌鍔熻兘 + + /// <summary> + /// 鏀惰棌鍦烘櫙 + /// </summary> + public string CollectScene(Scene scene) + { + var result = ""; + if (scene.collect) + { + result = ApiUtlis.Ins.HttpRequest.CollectDevice(scene.userSceneId).Code; + } + else + { + result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(scene.userSceneId).Code; + } + + //鎻愮ず閿欒 + if (result != StateCode.SUCCESS) + { + IMessageCommon.Current.ShowErrorInfoAlter(result); + } + + return result; + } + + #endregion + + #region 鍔熻兘鏂囨湰鐩稿叧 /// <summary> /// 灞炴�у悕绉版樉绀烘枃鏈� -- Gitblit v1.8.0