| | |
| | | }
|
| | | }
|
| | |
|
| | | //清空楼层数据
|
| | | Common.Config.Instance.Home.FloorDics.Clear();
|
| | | //然后检测本地的文件
|
| | | var listLocalFile = Global.FileListByHomeId();
|
| | | foreach (string fileName in listLocalFile)
|
| | |
| | | var varData = Global.ReadFileByHomeId(fileName);
|
| | | var dicFloor = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(Encoding.UTF8.GetString(varData));
|
| | | Common.Config.Instance.Home.FloorDics = dicFloor;
|
| | | Common.Config.Instance.Home.Save(false);
|
| | |
|
| | | //暂时不保存,留在最后面才保存
|
| | | Global.DeleteFilebyHomeId(fileName);
|
| | | }
|
| | |
|
| | |
| | | dicUpdateTime.Remove(fileName);
|
| | | }
|
| | | }
|
| | |
|
| | | //保存楼层数据
|
| | | Common.Config.Instance.Home.Save(false);
|
| | |
|
| | | //网关文件非合法性是刷新设备列表的函数里面实现
|
| | |
|
| | | //保存全部分享文件的更新日期
|
| | |
| | | private Dictionary<string, string> GetAllShardFileAgoUpdateTime()
|
| | | {
|
| | | var dicTime = new Dictionary<string, string>();
|
| | | var data = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.ShardFileUpdateFile);
|
| | | var data = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.ShardFileUpdateTimeFile);
|
| | | if (data == null)
|
| | | {
|
| | | //目标文件不存在
|
| | |
| | | {
|
| | | var data = Newtonsoft.Json.JsonConvert.SerializeObject(dicTime);
|
| | | var byteData = System.Text.Encoding.UTF8.GetBytes(data);
|
| | | Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.ShardFileUpdateFile, byteData);
|
| | | Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.ShardFileUpdateTimeFile, byteData);
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | var tempUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.SceneUI>(valueData);
|
| | |
|
| | | //获取场景里面的全部目标(2019.11.05追加操作,有可能那个设备是由场景嵌套来的,所以它有可能不属于任何房间)
|
| | | foreach (var data in tempUi.AddSceneMemberDataList)
|
| | | foreach (var data in tempUi.AdjustTargetList)
|
| | | {
|
| | | //设备
|
| | | if (data.Type == 0)
|
| | |
| | | /// <returns></returns>
|
| | | public void GetSceneDeviceList(Common.SceneUI scene, HashSet<string> listCheck, List<Common.SceneUI> listSceneUI, List<CommonDevice> listDevice)
|
| | | {
|
| | | foreach (var data in scene.AddSceneMemberDataList)
|
| | | foreach (var data in scene.AdjustTargetList)
|
| | | {
|
| | | //设备
|
| | | if (data.Type == 0)
|
| | |
| | | int floorCount = 0;
|
| | | foreach (var myRoom in memberShardInfo.dicShardRoom.Values)
|
| | | {
|
| | | if (myRoom.FloorId == roomTemp.FloorId) { floorCount++; }
|
| | | //2020.03.24追加:不能是自身房间
|
| | | if (myRoom.FloorId == roomTemp.FloorId && myRoom.Id != roomTemp.Id)
|
| | | {
|
| | | floorCount++;
|
| | | }
|
| | | }
|
| | | if (floorCount == 0)
|
| | | {
|
| | |
| | | //执行上传对象
|
| | | result = await this.DoUploadFloorObject(memberShardInfo);
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | if (result == false)
|
| | |
| | | /// <param name="listBindScene">绑定的场景对象</param>
|
| | | private void GetSceneBindListKeys(Common.SceneUI scene, ref Dictionary<string, string> dicDeviceKeys, ref List<SceneUI> listBindScene)
|
| | | {
|
| | | foreach (var data in scene.AddSceneMemberDataList)
|
| | | foreach (var data in scene.AdjustTargetList)
|
| | | {
|
| | | //设备
|
| | | if (data.Type == 0)
|
| | |
| | | /// <param name="listKeys">主键列表(设备和场景)</param>
|
| | | private void GetSceneBindListKeys(Common.SceneUI scene, ref HashSet<string> listKeys)
|
| | | {
|
| | | foreach (var data in scene.AddSceneMemberDataList)
|
| | | foreach (var data in scene.AdjustTargetList)
|
| | | {
|
| | | //设备
|
| | | if (data.Type == 0)
|