wei
2020-12-12 73cd2b147d98acb3a945b7b5daad39103fd4377d
HDL_ON/Entity/FunctionList.cs
@@ -185,23 +185,10 @@
            }
        }
        /// <summary>
        /// 获取所有功能列表
        /// </summary>
        public List<Function> GetAllFunction()
        {
            var fs = new List<Function>();
            fs.AddRange(GetAllDeviceFunctionList());
            return fs;
        }
        //public void
        /// <summary>
        /// 获取设备功能列表
        /// </summary>
        public List<Function> GetAllDeviceFunctionList()
        public List<Function> GetDeviceFunctionList()
        {
            if (deviceFunctionList == null || deviceFunctionList.Count == 0)
            {
@@ -227,7 +214,7 @@
        /// <summary>
        /// 清空设备功能列表
        /// </summary>
        public void ClearAllDeviceFunctionList()
        public void Clear()
        {
            aCs = new List<AC>();
            lights = new List<Light>();
@@ -252,41 +239,41 @@
            {
                case FunctionType.AC:
                    var sidObj =  Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    DB_ResidenceData.functionList.aCs.Add(sidObj);
                    List.aCs.Add(sidObj);
                    sidObj.SaveFunctionData(false);
                    break;
                case FunctionType.FloorHeating:
                    var sidObj1 =  Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    DB_ResidenceData.functionList.floorHeatings.Add(sidObj1);
                    List.floorHeatings.Add(sidObj1);
                    sidObj1.SaveFunctionData(false);
                    break;
                case FunctionType.Dimmer:
                case FunctionType.RGB:
                case FunctionType.Relay:
                    var sidObj2 =  Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    DB_ResidenceData.functionList.lights.Add(sidObj2);
                    List.lights.Add(sidObj2);
                    sidObj2.SaveFunctionData(false);
                    break;
                case FunctionType.Curtain:
                case FunctionType.RollingShutter:
                case FunctionType.MotorCurtain:
                    var sidObj3 =  Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    DB_ResidenceData.functionList.curtains.Add(sidObj3 );
                    List.curtains.Add(sidObj3 );
                    sidObj3.SaveFunctionData(false);
                    break;
                case FunctionType.TV:
                    var sidObj4 =  Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    DB_ResidenceData.functionList.tVs.Add(sidObj4);
                    List.tVs.Add(sidObj4);
                    sidObj4.SaveFunctionData(false);
                    break;
                case FunctionType.Socket:
                    var sidObj5 =  Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    DB_ResidenceData.functionList.switchSockets.Add(sidObj5);
                    List.switchSockets.Add(sidObj5);
                    sidObj5.SaveFunctionData(false);
                    break;
                case FunctionType.Fan:
                    var sidObj6 =  Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    DB_ResidenceData.functionList.fans.Add(sidObj6);
                    List.fans.Add(sidObj6);
                    sidObj6.SaveFunctionData(false);
                    break;
                case FunctionType.CO2:
@@ -295,7 +282,7 @@
                case FunctionType.Temp:
                case FunctionType.Humidity:
                    var sidObj7 =  Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    DB_ResidenceData.functionList.sensorsEnvironmentalScience.Add(sidObj7);
                    List.sensorsEnvironmentalScience.Add(sidObj7);
                    sidObj7.SaveFunctionData(false);
                    break;
            }
@@ -403,9 +390,9 @@
                        //    }
                        //})
                        //{ IsBackground = true }.Start();
                        for (int i =0;i < List.GetAllDeviceFunctionList().Count;)
                        for (int i =0;i < List.GetDeviceFunctionList().Count;)
                        {
                            var localFunction = List.GetAllDeviceFunctionList()[i];
                            var localFunction = List.GetDeviceFunctionList()[i];
                            var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId);
                            if (newFunction == null)//如果云端最新数据没有该条数据,则本地需要删掉该数据记录
                            {
@@ -505,21 +492,6 @@
        }
        /// <summary>
        /// 删除手机存储都所有缓存功能数据
        /// </summary>
        public void DelAllFunctionData()
        {
            var filePathList = Common.FileUtlis.Files.ReadFiles();
            foreach (var filePath in filePathList)
            {
                if (filePath.StartsWith("FunctionData_") && filePath.Length == 13 + 28)
                {
                    Common.FileUtlis.Files.DeleteFile(filePath);
                }
            }
            _FunctionList = new FunctionList();
        }
        /// <summary>
        /// 删除场景
        /// </summary>
@@ -621,7 +593,7 @@
                    if (DriverLayer.Control.Ins.IsRemote)
                    {
                        var functionIds = new List<string>();
                        foreach (var function in GetAllDeviceFunctionList())
                        foreach (var function in GetDeviceFunctionList())
                        {
                            functionIds.Add(function.deviceId);
                        }
@@ -629,7 +601,7 @@
                    }
                    else
                    {
                        foreach (var function in GetAllDeviceFunctionList())
                        foreach (var function in GetDeviceFunctionList())
                        {
                            switch (function.functionCategory)
                            {