| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using HDL_ON.DAL; |
| | | |
| | | namespace HDL_ON.Entity |
| | | { |
| | | public class FunctionList |
| | | public class FunctionList |
| | | { |
| | | public FunctionList() |
| | | { |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空调列表 |
| | | /// </summary> |
| | |
| | | /// 地热列表 |
| | | /// </summary> |
| | | public List<FloorHeating> floorHeatings = new List<FloorHeating>(); |
| | | #region 家电列表 electricals |
| | | /// <summary> |
| | | /// 家电列表 |
| | | /// </summary> |
| | |
| | | { |
| | | get |
| | | { |
| | | if(fans == null) |
| | | { |
| | | fans = new List<Fan>(); |
| | | } |
| | | if(switchSockets == null) |
| | | { |
| | | switchSockets = new List<SwitchSocket>(); |
| | | } |
| | | if(tVs == null) |
| | | { |
| | | tVs = new List<TV>(); |
| | | } |
| | | var list = new List<Function>(); |
| | | list.AddRange(fans); |
| | | list.AddRange(switchSockets); |
| | |
| | | /// 家电列表 |
| | | /// </summary> |
| | | public List<SwitchSocket> switchSockets = new List<SwitchSocket>(); |
| | | #endregion |
| | | /// <summary> |
| | | /// 环境传感器列表 |
| | | /// </summary> |
| | |
| | | /// 场景列表 |
| | | /// </summary> |
| | | public List<Scene> scenes = new List<Scene>(); |
| | | /// <summary> |
| | | /// 功能列表 |
| | | /// </summary> |
| | | List<Function> deviceFunctionList; |
| | | //[Newtonsoft.Json.JsonIgnore] |
| | | //public List<Function> functions = new List<Function>(); |
| | | |
| | | |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public List<Function> functions = new List<Function>(); |
| | | |
| | | /// <summary> |
| | | /// 获取所有功能列表 |
| | | /// </summary> |
| | | public void GetAllFunction() |
| | | public List<Function> GetAllFunction() |
| | | { |
| | | functions.Clear(); |
| | | functions.AddRange(GetAllDeviceFunctionList()); |
| | | functions.AddRange(scenes); |
| | | var fs = new List<Function>(); |
| | | fs.AddRange(GetAllDeviceFunctionList()); |
| | | fs.AddRange(scenes); |
| | | return fs; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public List<Function> GetAllDeviceFunctionList() |
| | | { |
| | | var deviceFunctionList = new List<Function>(); |
| | | deviceFunctionList.AddRange(aCs); |
| | | deviceFunctionList.AddRange(lights); |
| | | deviceFunctionList.AddRange(curtains); |
| | | deviceFunctionList.AddRange(floorHeatings); |
| | | deviceFunctionList.AddRange(electricals); |
| | | deviceFunctionList.AddRange(sensorsEnvironmentalScience); |
| | | deviceFunctionList.AddRange(HDL_ON.UI.Music.A31MusicModel.A31MusicModelList); |
| | | |
| | | if (deviceFunctionList == null) |
| | | { |
| | | deviceFunctionList = new List<Function>(); |
| | | deviceFunctionList.AddRange(aCs); |
| | | deviceFunctionList.AddRange(lights); |
| | | deviceFunctionList.AddRange(curtains); |
| | | deviceFunctionList.AddRange(floorHeatings); |
| | | deviceFunctionList.AddRange(electricals); |
| | | deviceFunctionList.AddRange(sensorsEnvironmentalScience); |
| | | deviceFunctionList.AddRange(UI.Music.A31MusicModel.A31MusicModelList); |
| | | } |
| | | return deviceFunctionList.OrderByDescending(o => o.usageCount).ToList(); |
| | | } |
| | | /// <summary> |
| | |
| | | switchSockets = new List<SwitchSocket>(); |
| | | fans = new List<Fan>(); |
| | | sensorsEnvironmentalScience = new List<Sensor>(); |
| | | functions = new List<Function>(); |
| | | //functions = new List<Function>(); |
| | | scenes = new List<Scene>(); |
| | | deviceFunctionList = null; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加功能 |
| | | /// 接收bus软件上传的功能 |
| | | /// tcp方式 |
| | | /// </summary> |
| | | /// <param name="sidObj"></param> |
| | | public void AddDeviceFunction(Function sidObj0) |
| | |
| | | { |
| | | case FunctionType.AC: |
| | | var sidObj = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); |
| | | DB_ResidenceData.residenceData.functionList.aCs.Add(sidObj); |
| | | DB_ResidenceData.functionList.aCs.Add(sidObj); |
| | | sidObj.SaveFunctionData(); |
| | | break; |
| | | case FunctionType.FloorHeating: |
| | | var sidObj1 = Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); |
| | | DB_ResidenceData.residenceData.functionList.floorHeatings.Add(sidObj1); |
| | | DB_ResidenceData.functionList.floorHeatings.Add(sidObj1); |
| | | sidObj1.SaveFunctionData(); |
| | | break; |
| | | case FunctionType.Dimmer: |
| | | case FunctionType.RGB: |
| | | case FunctionType.Relay: |
| | | var sidObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); |
| | | DB_ResidenceData.residenceData.functionList.lights.Add(sidObj2); |
| | | DB_ResidenceData.functionList.lights.Add(sidObj2); |
| | | sidObj2.SaveFunctionData(); |
| | | break; |
| | | case FunctionType.Curtain: |
| | | var sidObj3 = Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); |
| | | DB_ResidenceData.residenceData.functionList.curtains.Add(sidObj3 ); |
| | | DB_ResidenceData.functionList.curtains.Add(sidObj3 ); |
| | | sidObj3.SaveFunctionData(); |
| | | break; |
| | | case FunctionType.TV: |
| | | var sidObj4 = Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); |
| | | DB_ResidenceData.residenceData.functionList.tVs.Add(sidObj4); |
| | | DB_ResidenceData.functionList.tVs.Add(sidObj4); |
| | | sidObj4.SaveFunctionData(); |
| | | break; |
| | | case FunctionType.Socket: |
| | | var sidObj5 = Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); |
| | | DB_ResidenceData.residenceData.functionList.switchSockets.Add(sidObj5); |
| | | DB_ResidenceData.functionList.switchSockets.Add(sidObj5); |
| | | sidObj5.SaveFunctionData(); |
| | | break; |
| | | case FunctionType.Fan: |
| | | var sidObj6 = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); |
| | | DB_ResidenceData.residenceData.functionList.fans.Add(sidObj6); |
| | | DB_ResidenceData.functionList.fans.Add(sidObj6); |
| | | sidObj6.SaveFunctionData(); |
| | | break; |
| | | case FunctionType.CO2: |
| | | case FunctionType.TVOC: |
| | |
| | | case FunctionType.Temp: |
| | | case FunctionType.Humidity: |
| | | var sidObj7 = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); |
| | | DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience.Add(sidObj7); |
| | | DB_ResidenceData.functionList.sensorsEnvironmentalScience.Add(sidObj7); |
| | | sidObj7.SaveFunctionData(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 接收bus软件上传的功能 |
| | | /// http udp |
| | | /// </summary> |
| | | /// <param name="obj"></param> |
| | | public void AddFunction(object obj) |
| | | { |
| | | var f = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(obj.ToString()); |
| | |
| | | case FunctionType.TV: |
| | | electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(obj.ToString())); |
| | | break; |
| | | case FunctionType.WindPower: |
| | | case FunctionType.Socket: |
| | | electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(obj.ToString())); |
| | | break; |
| | | case FunctionType.Fan: |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |