HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-09-30 404cdc88627f942df7944af04ee05b9d527752d6
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/SearchConfigureSharedListRoomForm.cs
@@ -7,9 +7,9 @@
namespace Shared.Phone.UserCenter.SharedContent
{
    /// <summary>
    /// 查看已共享内容的房间列表界面
    /// 查看已共享内容的房间列表界面★
    /// </summary>
    public class SearchConfigureSharedListRoomForm : UserCenterCommonForm
    public class SearchConfigureSharedListRoomForm : EditorCommonForm
    {
        #region ■ 变量声明___________________________
@@ -33,402 +33,410 @@
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="i_memberResult">成员信息</param>
        /// <param name="i_memberShardInfo">成员的共享信息</param>
        public void ShowForm(MemberInfoRes i_memberResult, MemberShardInfoData i_memberShardInfo)
        {
            this.memberResult = i_memberResult;
        /// <param name="i_memberResult">成员信息</param>
        /// <param name="i_memberShardInfo">成员的共享信息</param>
        public void ShowForm(MemberInfoRes i_memberResult, MemberShardInfoData i_memberShardInfo)
        {
            this.memberResult = i_memberResult;
            this.memberShardInfo = i_memberShardInfo;
            this.memberShardInfo.SubAccountDistributedMark = this.memberResult.SubAccountDistributedMark;
            //设置头部信息
            this.memberShardInfo.SubAccountDistributedMark = this.memberResult.SubAccountDistributedMark;
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uHadSharedContent));
            //添加图标
            var btnAdd = new TopLayoutMostRightView();
            var btnAdd = new MostRightIconControl(69, 69);
            btnAdd.UnSelectedImagePath = "Item/Add.png";
            btnAdd.SelectedImagePath = "Item/AddSelected.png";
            btnAdd.MouseUpEventHandler += (sender, e) =>
            {
                var form = new ConfigureNewSharedListRoomForm();
                base.AddForm(form, this.memberResult, this.memberShardInfo);
            };
            topFrameLayout.AddChidren(btnAdd);
            //初始化中部信息
            this.InitMiddleFrame();
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private void InitMiddleFrame()
        {
            bodyFrameLayout.RemoveAll();
            //区域列表
            var btnTitle = new TitleViewControl(1000, true);
            btnTitle.TextID = R.MyInternationalizationString.uAreaList;
            btnTitle.Y = Application.GetRealHeight(30);
            bodyFrameLayout.AddChidren(btnTitle);
            this.listView = new VerticalScrolViewLayout();
            listView.Y = btnTitle.Bottom + Application.GetRealHeight(30);
            listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(30) - btnTitle.Bottom;
            bodyFrameLayout.AddChidren(listView);
            new System.Threading.Thread(async () =>
            btnAdd.ButtonClickEvent += (sender, e) =>
            {
                //获取成员的共享列表(返回文件的名字和主键)
                var result = await this.GetMemberShardContentListAndSetToLocation();
                if (result == false)
                {
                    return;
                }
                //从本地获取成员的分享列表
                this.GetMemberShardContentListFromLocal();
                //初始化区域列表
                this.InitAreaListRow();
            })
            { IsBackground = true }.Start();
        }
        #endregion
        #region ■ 区域列表___________________________
        /// <summary>
        /// 初始化区域列表
        /// </summary>
        private void InitAreaListRow()
        {
            if (memberShardInfo.dicShardRoom.Count == 0)
            {
                Application.RunOnMainThread(() =>
                {
                    bodyFrameLayout.RemoveAll();
                    //请配置共享设备
                    var btnMsg = new MsgViewControl(bodyFrameLayout.Width, false);
                    btnMsg.Gravity = Gravity.CenterVertical;
                    btnMsg.TextID = R.MyInternationalizationString.uPleaseConfigureShardDeviceMsg;
                    bodyFrameLayout.AddChidren(btnMsg);
                });
                return;
            }
            foreach (var room in memberShardInfo.dicShardRoom.Values)
            {
                Application.RunOnMainThread(() =>
                {
                    this.AddRoomRow(room);
                });
            }
        }
        /// <summary>
        /// 添加房间行
        /// </summary>
        /// <param name="room"></param>
        private void AddRoomRow(Common.Room room)
        {
            var row = new StatuRowLayout(listView);
            //房间名
            var btnName = new RowCenterView(false);
            btnName.Text = room.Name;
            row.AddChidren(btnName);
            var btnDelete = new RowDeleteButton();
            row.AddRightView(btnDelete);
            btnDelete.MouseUpEventHandler += (sender, e) =>
            {
                //确定移除该共享区域?
                string msg = Language.StringByID(R.MyInternationalizationString.uDeleteShardAreaMsg);
                this.ShowConfirmMsg(msg, "DoDeleteShardContentByRoom", room);
                var form = new ConfigureNewSharedListRoomForm();
                form.AddForm(this.memberResult, this.memberShardInfo);
            };
            topFrameLayout.AddChidren(btnAdd);
            btnAdd.InitControl();
            row.AddRightIconControl();
            row.MouseUpEvent += (sender, e) =>
            {
                var form = new SearchConfigureSharedMainForm();
                this.AddForm(form, room, memberResult, memberShardInfo);
            };
            //初始化中部信息
            //this.InitMiddleFrame();
        }
        #endregion
        #region ■ 删除共享区域_______________________
        ///// <summary>
        ///// 初始化中部信息
        ///// </summary>
        //private void InitMiddleFrame()
        //{
        //    //清空bodyFrame
        //    this.ClearBodyFrame();
        /// <summary>
        /// 删除共享区域
        /// </summary>
        /// <param name="room">指定要删除的共享区域</param>
        public void DoDeleteShardContentByRoom(Common.Room room)
        {
            //获取全部设备
            var listDevice = new List<CommonDevice>();
            foreach (var deviceUi in room.DeviceUIList)
            {
                var device = deviceUi.CommonDevice;
                if (device == null)
                {
                    var byteData = HdlShardLogic.Current.GetShardFileContent(deviceUi.DeviceFileName);
                    if (byteData == null)
                    {
                        continue;
                    }
                    device = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice>(System.Text.Encoding.UTF8.GetString(byteData));
                }
                listDevice.Add(device);
            }
            //获取全部场景
            var listScene = new List<Common.SceneUI>();
            foreach (var sceneUi in room.SceneUIList)
            {
                listScene.Add(sceneUi);
            }
        //    //区域列表
        //    var btnTitle = new NormalViewControl(1000, true);
        //    btnTitle.X = ControlCommonResourse.XXLeft;
        //    btnTitle.TextID = R.MyInternationalizationString.uAreaList;
        //    btnTitle.Y = Application.GetRealHeight(30);
        //    bodyFrameLayout.AddChidren(btnTitle);
            new System.Threading.Thread(async () =>
            {
                //执行删除
                var result = await HdlShardLogic.Current.DoDeleteSharedContent(memberShardInfo, room, listDevice, listScene);
                if (result == true)
                {
                    Application.RunOnMainThread(() =>
                    {
                        //重新刷新界面
                        this.InitMiddleFrame();
                    });
                }
            })
            { IsBackground = true }.Start();
        }
        //    this.listView = new VerticalScrolViewLayout();
        //    listView.Y = btnTitle.Bottom + Application.GetRealHeight(30);
        //    listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(30) - btnTitle.Bottom;
        //    bodyFrameLayout.AddChidren(listView);
        //    new System.Threading.Thread(async () =>
        //    {
        //        //获取成员的共享列表(返回文件的名字和主键)
        //        var result = await this.GetMemberShardContentListAndSetToLocation();
        //        if (result == false)
        //        {
        //            return;
        //        }
        //        //从本地获取成员的分享列表
        //        this.GetMemberShardContentListFromLocal();
        //        //初始化区域列表
        //        this.InitAreaListRow();
        //    })
        //    { IsBackground = true }.Start();
        //}
        #endregion
        #region ■ 获取成员共享列表___________________
        //#region ■ 区域列表___________________________
        /// <summary>
        /// 获取成员共享列表然后保存到本地
        /// </summary>
        /// <returns></returns>
        private async Task<bool> GetMemberShardContentListAndSetToLocation()
        {
            if (this.memberShardInfo.Refresh == false)
            {
                return true;
            }
            this.memberShardInfo.Refresh = false;
        ///// <summary>
        ///// 初始化区域列表
        ///// </summary>
        //private void InitAreaListRow()
        //{
        //    if (memberShardInfo.dicShardRoom.Count == 0)
        //    {
        //        Application.RunOnMainThread(() =>
        //        {
        //            if (bodyFrameLayout != null)
        //            {
        //                bodyFrameLayout.RemoveAll();
        //                //请配置共享设备
        //                var btnMsg = new MsgViewControl(bodyFrameLayout.Width, false);
        //                btnMsg.Gravity = Gravity.CenterVertical;
        //                btnMsg.TextID = R.MyInternationalizationString.uPleaseConfigureShardDeviceMsg;
        //                bodyFrameLayout.AddChidren(btnMsg);
        //            }
        //        });
        //        return;
        //    }
        //    foreach (var room in memberShardInfo.dicShardRoom.Values)
        //    {
        //        Application.RunOnMainThread(() =>
        //        {
        //            if (bodyFrameLayout != null)
        //            {
        //                this.AddRoomRow(room);
        //            }
        //        });
        //    }
        //}
            //开启进度条
            this.ShowProgressBar();
        ///// <summary>
        ///// 添加房间行
        ///// </summary>
        ///// <param name="room"></param>
        //private void AddRoomRow(Common.Room room)
        //{
        //    var row = new StatuRowLayout(listView);
        //    //房间名
        //    var btnName = new RowCenterView(false);
        //    btnName.Text = room.Name;
        //    row.AddChidren(btnName);
            var infoPra = new
            {
                DistributedMark = memberResult.SubAccountDistributedMark,
                HouseDistributedMark = Shared.Common.Config.Instance.HomeId,
                IsOtherAccountControl = Common.Config.Instance.isAdministrator
            };
            var result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeDataShare/GetShareDataBySubAccount", infoPra);
            if (result == null)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            var listData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ReceiveShardInfoResult>>(result);
            //先清空共享文件夹
            HdlShardLogic.Current.ClearShardDirectory();
        //    var btnDelete = new RowDeleteButton();
        //    row.AddRightView(btnDelete);
        //    btnDelete.MouseUpEventHandler += (sender, e) =>
        //    {
        //        //确定移除该共享区域?
        //        string msg = Language.StringByID(R.MyInternationalizationString.uDeleteShardAreaMsg);
        //        this.ShowConfirmMsg(msg, "DoDeleteShardContentByRoom", room);
        //    };
            var listMark = new List<string>();
            foreach (var data in listData)
            {
                //性能优化:如果本地拥有这个文件的话,直接使用那个文件
                string fileName = data.ShareName;
                //记录起它的主键
                memberShardInfo.dicAllShardKeys[fileName] = data.DistributedMark;
        //    row.AddRightArrow();
                if (fileName.StartsWith("Room_") == true || fileName.StartsWith("Scene_") == true)
                {
                    //房间文件和场景文件需要重新反序列化
                    listMark.Add(data.DistributedMark);
                    continue;
                }
                if (Shared.Common.Global.IsExistsByHomeId(fileName) == true)
                {
                    //其他文件的话,如果本地存在,则以本地文件为准
                    HdlShardLogic.Current.AddShardFile(fileName);
                    continue;
                }
                listMark.Add(data.DistributedMark);
            }
        //    row.MouseUpEvent += (sender, e) =>
        //    {
        //        var form = new SearchConfigureSharedMainForm();
        //        form.AddForm(room, memberResult, memberShardInfo);
        //    };
        //}
        //#endregion
            //将分享的数据存入本地,返回的是文件名字(异常时返回null)
            var listFile = await HdlShardLogic.Current.SetShardFileToLocation(listMark);
            if (listFile == null)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            //关闭进度条
            this.CloseProgressBar();
        //#region ■ 删除共享区域_______________________
            return true;
        }
        ///// <summary>
        ///// 删除共享区域
        ///// </summary>
        ///// <param name="room">指定要删除的共享区域</param>
        //public void DoDeleteShardContentByRoom(Common.Room room)
        //{
        //    //获取全部设备
        //    var listDevice = new List<CommonDevice>();
        //    foreach (var deviceUi in room.DeviceUIList)
        //    {
        //        var device = deviceUi.CommonDevice;
        //        if (device == null)
        //        {
        //            var byteData = HdlShardLogic.Current.GetShardFileContent(deviceUi.DeviceFileName);
        //            if (byteData == null)
        //            {
        //                continue;
        //            }
        //            device = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice>(System.Text.Encoding.UTF8.GetString(byteData));
        //        }
        //        listDevice.Add(device);
        //    }
        //    //获取全部场景
        //    var listScene = new List<Common.SceneUI>();
        //    foreach (var sceneUi in room.SceneUIList)
        //    {
        //        listScene.Add(sceneUi);
        //    }
        /// <summary>
        /// 从本地获取成员的分享列表
        /// </summary>
        private void GetMemberShardContentListFromLocal()
        {
            memberShardInfo.dicShardRoom = new Dictionary<string, Common.Room>();
        //    new System.Threading.Thread(async () =>
        //    {
        //        //执行删除
        //        var result = await HdlShardLogic.Current.DoDeleteSharedContent(memberShardInfo, room, listDevice, listScene);
        //        if (result == true)
        //        {
        //            Application.RunOnMainThread(() =>
        //            {
        //                //重新刷新界面
        //                this.InitMiddleFrame();
        //            });
        //        }
        //    })
        //    { IsBackground = true }.Start();
        //}
            var listFile = HdlShardLogic.Current.GetLocalAllShardFile();
            foreach (string fileName in listFile)
            {
                if (fileName.StartsWith("Room_") == true)
                {
                    var byteData = HdlShardLogic.Current.GetShardFileContent(fileName);
                    if (byteData == null)
                    {
                        continue;
                    }
                    string valueData = System.Text.Encoding.UTF8.GetString(byteData);
                    var roomTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.Room>(valueData);
                    memberShardInfo.dicShardRoom[fileName] = roomTemp;
        //#endregion
                    if (memberShardInfo.dicAllMemberShard.ContainsKey(fileName) == false)
                    {
                        //先初始化房间
                        memberShardInfo.dicAllMemberShard[fileName] = new HashSet<string>();
                    }
                }
            }
            //设置房间里面设备的UI对象(因为这个东西是反序列化出来的,设备UI对象是不序列化对象)
            this.InitRoomAttributeData();
        }
        //#region ■ 获取成员共享列表___________________
        /// <summary>
        /// 初始化房间的属性对象全部的本地文件
        /// </summary>
        private void InitRoomAttributeData()
        {
            //设置房间里面设备的UI对象(因为这个东西是反序列化出来的,设备UI对象是不序列化对象)
            foreach (var tempRoom in memberShardInfo.dicShardRoom.Values)
            {
                var listShard = memberShardInfo.dicAllMemberShard[tempRoom.FileName];
                listShard.Clear();
                //添加房间
                listShard.Add(tempRoom.FileName);
        ///// <summary>
        ///// 获取成员共享列表然后保存到本地
        ///// </summary>
        ///// <returns></returns>
        //private async Task<bool> GetMemberShardContentListAndSetToLocation()
        //{
        //    if (this.memberShardInfo.Refresh == false)
        //    {
        //        return true;
        //    }
        //    this.memberShardInfo.Refresh = false;
                //还原UI设备对象
                tempRoom.DeviceUIList.Clear();
                foreach (string uiPath in tempRoom.DeviceUIFilePathList)
                {
                    var byteData = HdlShardLogic.Current.GetShardFileContent(uiPath);
                    if (byteData == null)
                    {
                        continue;
                    }
                    string valueData = System.Text.Encoding.UTF8.GetString(byteData);
                    var tempUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.DeviceUI>(valueData);
                    tempRoom.DeviceUIList.Add(tempUi);
        //    //开启进度条
        //    this.ShowProgressBar();
                    //设备UI
                    listShard.Add(tempUi.FileName);
                    //设备
                    listShard.Add(tempUi.DeviceFileName);
                }
                //还原场景对象
                tempRoom.SceneUIList.Clear();
                foreach (string uiPath in tempRoom.SceneUIFilePathList)
                {
                    var byteData = HdlShardLogic.Current.GetShardFileContent(uiPath);
                    if (byteData == null)
                    {
                        continue;
                    }
                    string valueData = System.Text.Encoding.UTF8.GetString(byteData);
                    var tempUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.SceneUI>(valueData);
                    tempRoom.SceneUIList.Add(tempUi);
        //    var infoPra = new
        //    {
        //        DistributedMark = memberResult.SubAccountDistributedMark,
        //        HouseDistributedMark = Shared.Common.Config.Instance.HomeId,
        //        IsOtherAccountControl = Common.Config.Instance.isAdministrator
        //    };
        //    var result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeDataShare/GetShareDataBySubAccount", false, infoPra);
        //    if (result == null)
        //    {
        //        //关闭进度条
        //        this.CloseProgressBar(ShowReLoadMode.YES);
        //        return false;
        //    }
        //    var listData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ReceiveShardInfoResult>>(result);
        //    //先清空共享文件夹
        //    HdlShardLogic.Current.ClearShardDirectory();
                    //场景的主键
                    listShard.Add(tempUi.FileName);
                    //从场景对象里面获取全部的绑定目标的文件名字
                    this.GetSceneBindFileName(tempUi, ref listShard);
                }
            }
        }
        //    var listMark = new List<string>();
        //    foreach (var data in listData)
        //    {
        //        //性能优化:如果本地拥有这个文件的话,直接使用那个文件
        //        string fileName = data.ShareName;
        //        //记录起它的主键
        //        memberShardInfo.dicAllShardKeys[fileName] = data.DistributedMark;
        #endregion
        //        if (fileName.StartsWith("Room_") == true || fileName.StartsWith("Scene_") == true)
        //        {
        //            //房间文件和场景文件需要重新反序列化
        //            listMark.Add(data.DistributedMark);
        //            continue;
        //        }
        //        if (Shared.Common.Global.IsExistsByHomeId(fileName) == true)
        //        {
        //            //其他文件的话,如果本地存在,则以本地文件为准
        //            HdlShardLogic.Current.AddShardFile(fileName);
        //            continue;
        //        }
        //        listMark.Add(data.DistributedMark);
        //    }
        #region ■ 界面重新激活事件___________________
        //    //将分享的数据存入本地,返回的是文件名字(异常时返回null)
        //    var listFile = await HdlShardLogic.Current.SetShardFileToLocation(listMark);
        //    if (listFile == null)
        //    {
        //        //关闭进度条
        //        this.CloseProgressBar(ShowReLoadMode.YES);
        //        return false;
        //    }
        //    //关闭进度条
        //    this.CloseProgressBar();
        /// <summary>
        /// 自身的上层界面关闭后,它自身处于最上层时,触发的事件
        /// </summary>
        public override void FormActionAgainEvent()
        {
            //重新刷新界面
            this.InitMiddleFrame();
        }
        //    return true;
        //}
        #endregion
        ///// <summary>
        ///// 从本地获取成员的分享列表
        ///// </summary>
        //private void GetMemberShardContentListFromLocal()
        //{
        //    memberShardInfo.dicShardRoom = new Dictionary<string, Common.Room>();
        #region ■ 一般方法___________________________
        //    var listFile = HdlShardLogic.Current.GetLocalAllShardFile();
        //    foreach (string fileName in listFile)
        //    {
        //        if (fileName.StartsWith("Room_") == true)
        //        {
        //            var byteData = HdlShardLogic.Current.GetShardFileContent(fileName);
        //            if (byteData == null)
        //            {
        //                continue;
        //            }
        //            string valueData = System.Text.Encoding.UTF8.GetString(byteData);
        //            var roomTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.Room>(valueData);
        //            memberShardInfo.dicShardRoom[fileName] = roomTemp;
        /// <summary>
        /// 从场景对象里面获取全部的绑定目标的文件名字
        /// </summary>
        /// <param name="scene">场景</param>
        /// <param name="listFile">文件列表(里面存的是设备UI文件和设备文件和场景文件)</param>
        private void GetSceneBindFileName(Common.SceneUI scene, ref HashSet<string> listFile)
        {
            foreach (var data in scene.AddSceneMemberDataList)
            {
                //设备
                if (data.Type == 0)
                {
                    var device = Common.LocalDevice.Current.GetDevice(data.DeviceAddr, data.Epoint);
                    if (device != null)
                    {
                        string uiName = "DeviceUI_" + device.FilePath;
                        if (listFile.Contains(uiName) == false)
                        {
                            listFile.Add(uiName);
                            listFile.Add(device.FilePath);
                        }
                    }
                }
                if (data.Type == 1)
                {
                    var sceneTemp = Common.Room.CurrentRoom.GetSceneUIBySceneId(data.ElseScenesId);
                    if (sceneTemp != null && listFile.Contains(sceneTemp.FileName))
                    {
                        listFile.Add(sceneTemp.FileName);
                    }
                }
            }
        }
        #endregion
        //            if (memberShardInfo.dicAllMemberShard.ContainsKey(fileName) == false)
        //            {
        //                //先初始化房间
        //                memberShardInfo.dicAllMemberShard[fileName] = new HashSet<string>();
        //            }
        //        }
        //    }
        //    //设置房间里面设备的UI对象(因为这个东西是反序列化出来的,设备UI对象是不序列化对象)
        //    this.InitRoomAttributeData();
        //}
        #region ■ 结构体_____________________________
        ///// <summary>
        ///// 初始化房间的属性对象全部的本地文件
        ///// </summary>
        //private void InitRoomAttributeData()
        //{
        //    //设置房间里面设备的UI对象(因为这个东西是反序列化出来的,设备UI对象是不序列化对象)
        //    foreach (var tempRoom in memberShardInfo.dicShardRoom.Values)
        //    {
        //        var listShard = memberShardInfo.dicAllMemberShard[tempRoom.FileName];
        //        listShard.Clear();
        //        //添加房间
        //        listShard.Add(tempRoom.FileName);
        /// <summary>
        /// 接收分享数据
        /// </summary>
        private class ReceiveShardInfoResult
        {
            /// <summary>
            /// 文件名字
            /// </summary>
            public string ShareName = string.Empty;
            /// <summary>
            /// 主键
            /// </summary>
            public string DistributedMark = string.Empty;
        }
        //        //还原UI设备对象
        //        tempRoom.DeviceUIList.Clear();
        //        foreach (string uiPath in tempRoom.DeviceUIFilePathList)
        //        {
        //            var byteData = HdlShardLogic.Current.GetShardFileContent(uiPath);
        //            if (byteData == null)
        //            {
        //                continue;
        //            }
        //            string valueData = System.Text.Encoding.UTF8.GetString(byteData);
        //            var tempUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.DeviceUI>(valueData);
        //            tempRoom.DeviceUIList.Add(tempUi);
        #endregion
        //            //设备UI
        //            listShard.Add(tempUi.FileName);
        //            //设备
        //            listShard.Add(tempUi.DeviceFileName);
        //        }
        //        //还原场景对象
        //        tempRoom.SceneUIList.Clear();
        //        foreach (string uiPath in tempRoom.SceneUIFilePathList)
        //        {
        //            var byteData = HdlShardLogic.Current.GetShardFileContent(uiPath);
        //            if (byteData == null)
        //            {
        //                continue;
        //            }
        //            string valueData = System.Text.Encoding.UTF8.GetString(byteData);
        //            var tempUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.SceneUI>(valueData);
        //            tempRoom.SceneUIList.Add(tempUi);
        //            //场景的主键
        //            listShard.Add(tempUi.FileName);
        //            //从场景对象里面获取全部的绑定目标的文件名字
        //            this.GetSceneBindFileName(tempUi, ref listShard);
        //        }
        //    }
        //}
        //#endregion
        //#region ■ 界面重新激活事件___________________
        ///// <summary>
        ///// 自身的上层界面关闭后,它自身处于最上层时,触发的事件
        ///// </summary>
        //public override void FormActionAgainEvent()
        //{
        //    //重新刷新界面
        //    this.InitMiddleFrame();
        //}
        //#endregion
        //#region ■ 一般方法___________________________
        ///// <summary>
        ///// 从场景对象里面获取全部的绑定目标的文件名字
        ///// </summary>
        ///// <param name="scene">场景</param>
        ///// <param name="listFile">文件列表(里面存的是设备UI文件和设备文件和场景文件)</param>
        //private void GetSceneBindFileName(Common.SceneUI scene, ref HashSet<string> listFile)
        //{
        //    foreach (var data in scene.AddSceneMemberDataList)
        //    {
        //        //设备
        //        if (data.Type == 0)
        //        {
        //            var device = Common.LocalDevice.Current.GetDevice(data.DeviceAddr, data.Epoint);
        //            if (device != null)
        //            {
        //                string uiName = "DeviceUI_" + device.FilePath;
        //                if (listFile.Contains(uiName) == false)
        //                {
        //                    listFile.Add(uiName);
        //                    listFile.Add(device.FilePath);
        //                }
        //            }
        //        }
        //        if (data.Type == 1)
        //        {
        //            var sceneTemp = Common.Room.CurrentRoom.GetSceneUIBySceneId(data.ElseScenesId);
        //            if (sceneTemp != null && listFile.Contains(sceneTemp.FileName))
        //            {
        //                listFile.Add(sceneTemp.FileName);
        //            }
        //        }
        //    }
        //}
        //#endregion
        //#region ■ 结构体_____________________________
        ///// <summary>
        ///// 接收分享数据
        ///// </summary>
        //private class ReceiveShardInfoResult
        //{
        //    /// <summary>
        //    /// 文件名字
        //    /// </summary>
        //    public string ShareName = string.Empty;
        //    /// <summary>
        //    /// 主键
        //    /// </summary>
        //    public string DistributedMark = string.Empty;
        //}
        //#endregion
    }
}