黄学彪
2020-12-16 0d9f64668fd7350d6a21fd157e32009a96d98134
ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.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>
@@ -57,11 +57,11 @@
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="i_room">查看的房间对象</param>
        /// <param name="i_memberShardInfo">成员的分享数据</param>
        public void ShowForm(Common.Room i_room, MemberShardInfoData i_memberShardInfo)
        /// <param name="i_ChildAccountId">成员ID</param>
        public void ShowForm(Common.Room i_room, string i_ChildAccountId)
        {
            this.lookRoom = i_room;
            this.memberShardInfo = i_memberShardInfo;
            this.ChildAccountId = i_ChildAccountId;
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddShared));
@@ -168,16 +168,16 @@
            //场景有点特殊,如果同一个房间内,已经分享了,则不再显示 
            //如果这个场景是由嵌套而分享的,这个时候,它可以显示出来
            var listScene = new List<int>();
            if (memberShardInfo.dicShardRoom.ContainsKey(lookRoom.FileName) == false)
            var shardRoom = HdlShardLogic.Current.GetShardRoomFromMemory(lookRoom.Id);
            if (shardRoom == null)
            {
                listScene.AddRange(lookRoom.ListSceneId);
            }
            else
            {
                var tempRoom = memberShardInfo.dicShardRoom[lookRoom.FileName];
                foreach (var dataId in lookRoom.ListSceneId)
                {
                    if (tempRoom.ListSceneId.Contains(dataId) == false)
                    if (shardRoom.ListSceneId.Contains(dataId) == false)
                    {
                        listScene.Add(dataId);
                    }
@@ -270,7 +270,7 @@
                else
                {
                    var frameBack = new FrameLayout();
                    frameBack.X = ControlCommonResourse.XXLeft;
                    frameBack.X = HdlControlResourse.XXLeft;
                    frameBack.Y = Application.GetRealHeight(178);
                    frameBack.BackgroundColor = UserCenterColor.Current.White;
                    frameBack.Width = bodyFrameLayout.Width;
@@ -328,15 +328,15 @@
            foreach (var device in listDevice)
            {
                var frameRow = new FrameRowControl(listView.rowSpace / 2);
                frameRow.LeftOffset = Application.GetRealWidth(46) - ControlCommonResourse.XXLeft;
                frameRow.RightOffset = -ControlCommonResourse.XXLeft;
                frameRow.LeftOffset = Application.GetRealWidth(46) - HdlControlResourse.XXLeft;
                frameRow.RightOffset = -HdlControlResourse.XXLeft;
                listView.AddChidren(frameRow);
                //图标
                var btnIcon = frameRow.AddLeftIcon(81);
                Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, device);
                HdlDeviceCommonLogic.Current.SetDeviceIconToControl(btnIcon, device);
                //名称
                var btnView = frameRow.AddLeftCaption(string.Empty, 600);
                btnView.Text = Common.LocalDevice.Current.GetDeviceEpointName(device);
                btnView.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                btnView.TextSize = 15;
                //底线
                frameRow.AddBottomLine();
@@ -345,7 +345,7 @@
                btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
                btnSelect.SelectedImagePath = "Item/ItemSelected.png";
                string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
                string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device);
                if (dicSelectDevice.ContainsKey(mainKeys) == true)
                {
                    btnSelect.IsSelected = true;
@@ -390,14 +390,16 @@
            //全部的设备
            var listDevice = HdlRoomLogic.Current.GetRoomListDevice(lookRoom);
            var dic = new Dictionary<string, List<CommonDevice>>();
            var shardRoom = HdlShardLogic.Current.GetShardRoomFromMemory(lookRoom.Id);
            foreach (var device in listDevice)
            {
                if (memberShardInfo.dicAllShardKeys.ContainsKey(device.FilePath) == true)
                string mainkey = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device);
                if (shardRoom.ListDevice.Contains(mainkey) == true)
                {
                    //如果已经分享了,则不显示
                    continue;
                }
                var typeInfo = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device);
                var typeInfo = HdlDeviceCommonLogic.Current.GetDeviceBelongEnumInfo(device);
                if (dic.ContainsKey(typeInfo.BeloneText) == false)
                {
                    dic[typeInfo.BeloneText] = new List<CommonDevice>();
@@ -431,7 +433,7 @@
            HdlThreadLogic.Current.RunThread(() =>
            {
                //上传文件
                var result = HdlShardLogic.Current.DoUploadSharedContent(memberShardInfo, this.lookRoom, listDevice, listScene);
                var result = HdlShardLogic.Current.UploadSharedContent(this.ChildAccountId, this.lookRoom, listDevice, listScene);
                if (result == true)
                {
                    HdlThreadLogic.Current.RunMain(() =>