| | |
| | | var deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(pack.Data.ToString()); |
| | | if (deviceList != null) |
| | | { |
| | | for (int i =0;i < List.GetDeviceFunctionList().Count;) |
| | | if (List.GetDeviceFunctionList().Count > 0) |
| | | { |
| | | var localFunction = List.GetDeviceFunctionList()[i]; |
| | | var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId); |
| | | if (newFunction == null)//如果云端最新数据没有该条数据,则本地需要删掉该数据记录 |
| | | for (int i = 0; i < List.GetDeviceFunctionList().Count;) |
| | | { |
| | | List.DeleteFunction(localFunction); |
| | | } |
| | | else |
| | | { |
| | | i++; |
| | | if (localFunction.modifyTime != newFunction.modifyTime) |
| | | var localFunction = List.GetDeviceFunctionList()[i]; |
| | | if (localFunction.functionCategory == FunctionCategory.Music) |
| | | { |
| | | MainPage.Log($"local:{localFunction.modifyTime}\r\n server:{newFunction.modifyTime}"); |
| | | localFunction.name = newFunction.name; |
| | | localFunction.collect = newFunction.collect; |
| | | localFunction.modifyTime = newFunction.modifyTime; |
| | | localFunction.roomIds = newFunction.roomIds; |
| | | localFunction.bus_Data = newFunction.bus_Data; |
| | | localFunction.SaveFunctionData(false); |
| | | i++; |
| | | continue; |
| | | } |
| | | deviceList.list.Remove(newFunction);//操作完的数据清理掉,剩下的就是新增的功能 |
| | | var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId); |
| | | if (newFunction == null)//如果云端最新数据没有该条数据,则本地需要删掉该数据记录 |
| | | { |
| | | List.DeleteFunction(localFunction); |
| | | } |
| | | else |
| | | { |
| | | i++; |
| | | if (localFunction.modifyTime != newFunction.modifyTime) |
| | | { |
| | | MainPage.Log($"local:{localFunction.modifyTime}\r\n server:{newFunction.modifyTime}"); |
| | | localFunction.name = newFunction.name; |
| | | localFunction.collect = newFunction.collect; |
| | | localFunction.modifyTime = newFunction.modifyTime; |
| | | localFunction.roomIds = newFunction.roomIds; |
| | | localFunction.bus = newFunction.bus; |
| | | localFunction.SaveFunctionData(false); |
| | | } |
| | | deviceList.list.Remove(newFunction);//操作完的数据清理掉,剩下的就是新增的功能 |
| | | } |
| | | } |
| | | } |
| | | //处理剩下的新增功能 |
| | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | #region 场景相关 |
| | | /// <summary> |
| | | /// 添加场景 |
| | | /// </summary> |
| | | public Scene AddScene(Scene scene,out string result) |
| | | { |
| | | Scene tempScene = null; |
| | | var pm = new HttpServerRequest(); |
| | | var revPack = pm.AddScene(scene); |
| | | if (revPack.Code == StateCode.SUCCESS) |
| | | { |
| | | var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString()); |
| | | tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId); |
| | | var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene)); |
| | | Common.FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd); |
| | | } |
| | | result = revPack.Code; |
| | | return tempScene; |
| | | } |
| | | #endregion |
| | | |
| | | #region 功能文本相关 |
| | | /// <summary> |
| | |
| | | case FunctionAttributeKey.Brightness: |
| | | text = Language.StringByID(StringId.Brightness); |
| | | break; |
| | | case FunctionAttributeKey.Color: |
| | | case FunctionAttributeKey.RGB: |
| | | text = Language.StringByID(StringId.ColorValue); |
| | | break; |
| | | case FunctionAttributeKey.Mode: |