黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/LookSharedContentForm.cs
@@ -17,9 +17,9 @@
        /// </summary>
        private Common.Room lookRoom = null;
        /// <summary>
        /// 成员的分享数据
        /// 成员ID
        /// </summary>
        private MemberShardInfoData memberShardInfo = null;
        private string ChildAccountId = string.Empty;
        /// <summary>
        /// 设备桌布控件
        /// </summary>
@@ -58,10 +58,10 @@
        /// </summary>
        /// <param name="i_room">查看的房间对象</param>
        /// <param name="i_memberShardInfo">成员的分享数据</param>
        public void ShowForm(Common.Room i_room, MemberShardInfoData i_memberShardInfo)
        public void ShowForm(Common.Room i_room, string i_ChildAccountId)
        {
            this.lookRoom = i_room;
            this.memberShardInfo = i_memberShardInfo;
            this.ChildAccountId = i_ChildAccountId;
            //设置头部信息
            base.SetTitleText(i_room.Name);
@@ -159,19 +159,13 @@
            this.frameSceneTable.RemoveAll();
            var listScene = new List<Common.SceneUI>();
            for (int i = 0; i < lookRoom.ListSceneId.Count; i++)
            foreach (var sceneId in lookRoom.ListSceneId)
            {
                var byteData = HdlShardLogic.Current.GetShardFileContent($"Scene_{lookRoom.ListSceneId[i]}.json");
                if (byteData == null)
                var scene = HdlShardLogic.Current.GetShardSceneFromMemory(sceneId);
                if (scene != null)
                {
                    continue;
                    listScene.Add(scene);
                }
                try
                {
                    var sceneUi = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.SceneUI>(System.Text.Encoding.UTF8.GetString(byteData));
                    listScene.Add(sceneUi);
                }
                catch { }
            }
            if (listScene.Count == 0)
            {
@@ -416,7 +410,7 @@
                HdlThreadLogic.Current.RunThread(() =>
                {
                    //上传文件
                    var result = HdlShardLogic.Current.DoDeleteSharedContent(memberShardInfo, this.lookRoom, listDevice, listScene);
                    var result = HdlShardLogic.Current.DeleteSharedContent(this.ChildAccountId, this.lookRoom, listDevice, listScene);
                    if (result == true)
                    {
                        HdlThreadLogic.Current.RunMain(() =>
@@ -441,31 +435,12 @@
        {
            //获取这个房间里面的分享设备
            var listDevice = new List<CommonDevice>();
            foreach (var deviceKeys in this.lookRoom.ListDevice)
            foreach (var deviceKey in this.lookRoom.ListDevice)
            {
                string deviceFile = HdlShardLogic.Current.GetShardDeviceFileName(deviceKeys);
                if (memberShardInfo.dicAllShardKeys.ContainsKey(deviceFile) == true)
                var device = HdlShardLogic.Current.GetShardDeviceFromMemory(deviceKey);
                if (device != null)
                {
                    //从分享文件中序列化回来
                    var deviceData = HdlShardLogic.Current.GetShardFileContent(deviceFile);
                    if (deviceData == null)
                    {
                        continue;
                    }
                    try
                    {
                        var jobject = Newtonsoft.Json.Linq.JObject.Parse(System.Text.Encoding.UTF8.GetString(deviceData));
                        if (jobject.Property("DeviceID") == null)
                        {
                            continue;
                        }
                        var device = ZigBee.Device.CommonDevice.CommonDeviceByByteString(Convert.ToInt32(jobject["DeviceID"].ToString()), System.Text.Encoding.UTF8.GetString(deviceData));
                        if (device != null)
                        {
                            listDevice.Add(device);
                        }
                    }
                    catch { }
                    listDevice.Add(device);
                }
            }
            return listDevice;