From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs | 152 ++++++++++++++++++-------------------------------- 1 files changed, 54 insertions(+), 98 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs index 97b2df2..5361cdf 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/SharedContent/AddNewSharedContentForm.cs @@ -17,17 +17,17 @@ /// </summary> private Common.Room lookRoom = null; /// <summary> - /// 鎴愬憳鐨勫垎浜暟鎹� + /// 鎴愬憳ID /// </summary> - private MemberShardInfoData memberShardInfo = null; + private string ChildAccountId = string.Empty; /// <summary> /// 璁惧妗屽竷鎺т欢 /// </summary> - private FrameLayout frameDeviceTable = null; + private NormalFrameLayout frameDeviceTable = null; /// <summary> /// 璁惧妗屽竷鎺т欢 /// </summary> - private FrameLayout frameSceneTable = null; + private NormalFrameLayout frameSceneTable = null; /// <summary> /// 鍔熻兘鎸夐挳 /// </summary> @@ -41,9 +41,9 @@ /// </summary> private Dictionary<string, CommonDevice> dicSelectDevice = new Dictionary<string, CommonDevice>(); /// <summary> - /// 褰撳墠閫夋嫨鐨勫垎鏀� 1锛氬満鏅� 2锛氬姛鑳� + /// 褰撳墠閫夋嫨鐨勫垎鏀� 0锛氬満鏅� 1锛氬姛鑳� /// </summary> - private int nowSwitchIndex = 1; + private int nowSwitchIndex = 0; /// <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)); @@ -81,12 +81,12 @@ this.dicSelectScene = new Dictionary<int, Common.SceneUI>(); //鍒濆鍖栨甯冩帶浠� - this.frameSceneTable = new FrameLayout(); + this.frameSceneTable = new NormalFrameLayout(); frameSceneTable.Y = Application.GetRealHeight(132); frameSceneTable.Height = bodyFrameLayout.Height - Application.GetRealHeight(132); bodyFrameLayout.AddChidren(frameSceneTable); - this.frameDeviceTable = new FrameLayout(); + this.frameDeviceTable = new NormalFrameLayout(); frameDeviceTable.Y = frameSceneTable.Y; frameDeviceTable.Height = frameSceneTable.Height; bodyFrameLayout.AddChidren(frameDeviceTable); @@ -133,7 +133,7 @@ tabControl.SelectTabEvent += (tabIndex) => { this.nowSwitchIndex = tabIndex; - if (tabIndex == 1) + if (tabIndex == 0) { //鏄剧ず鍦烘櫙鍒楄〃 this.frameSceneTable.Visible = true; @@ -146,7 +146,11 @@ this.frameDeviceTable.Visible = true; } }; - tabControl.InitControl(); + //寮�濮嬪垵濮嬪寲鍦烘櫙鍔熻兘鍒囨崲鎺т欢 + var listTitle = new List<string>(); + listTitle.Add(Language.StringByID(R.MyInternationalizationString.uScence)); + listTitle.Add(Language.StringByID(R.MyInternationalizationString.uFunction)); + tabControl.InitControl(listTitle); } #endregion @@ -163,19 +167,19 @@ //鍦烘櫙鏈夌偣鐗规畩,濡傛灉鍚屼竴涓埧闂村唴,宸茬粡鍒嗕韩浜�,鍒欎笉鍐嶆樉绀� //濡傛灉杩欎釜鍦烘櫙鏄敱宓屽鑰屽垎浜殑,杩欎釜鏃跺��,瀹冨彲浠ユ樉绀哄嚭鏉� - var listScene = new List<Common.SceneUI>(); - if (memberShardInfo.dicShardRoom.ContainsKey(lookRoom.FileName) == false) + var listScene = new List<int>(); + var shardRoom = HdlShardLogic.Current.GetShardRoomFromMemory(lookRoom.Id); + if (shardRoom == null) { - listScene.AddRange(lookRoom.SceneUIList); + listScene.AddRange(lookRoom.ListSceneId); } else { - var tempRoom = memberShardInfo.dicShardRoom[lookRoom.FileName]; - foreach (var data in lookRoom.SceneUIList) + foreach (var dataId in lookRoom.ListSceneId) { - if (tempRoom.SceneUIFilePathList.Contains(data.FileName) == false) + if (shardRoom.ListSceneId.Contains(dataId) == false) { - listScene.Add(data); + listScene.Add(dataId); } } } @@ -188,45 +192,29 @@ HdlThreadLogic.Current.RunMainInThread(() => { - var listView = new VerticalFrameControl(29); + var listView = new VerticalFrameControl(3); listView.Y = Application.GetRealHeight(53); listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(187); frameSceneTable.AddChidren(listView); - foreach (var data in listScene) + foreach (var dataId in listScene) { + var data = HdlSceneLogic.Current.GetSceneUIBySceneId(dataId); + if (data == null) + { + continue; + } //鍦烘櫙鍥剧墖 - var frameContr = new FrameLayoutControl(); - frameContr.UseClickStatu = false; - frameContr.Height = Application.GetRealHeight(470); - listView.AddChidrenFrame(frameContr); - - //鍦烘櫙鍥剧墖 - var btnPic = new ImageView(); - btnPic.X = Application.GetRealWidth(179); - btnPic.Width = Application.GetRealWidth(844); - btnPic.Height = Application.GetRealHeight(420); - btnPic.ImagePath = data.IconPath; - btnPic.Radius = (uint)Application.GetRealHeight(17); - frameContr.AddChidren(btnPic, ChidrenBindMode.BindEventOnly); - - var btnName = new NormalViewControl(251, 282, true); - btnName.X = ControlCommonResourse.XXLeft; - btnName.Y = Application.GetRealHeight(58); - btnName.BackgroundColor = 0xff333333; - btnName.RadiusEx = 17; - btnName.Text = data.Name; - btnName.TextSize = 15; - btnName.TextColor = UserCenterColor.Current.White; - btnName.TextAlignment = TextAlignment.Center; - frameContr.AddChidren(btnName); + var frameContr = new ScenePictrueControl(); + listView.AddChidren(frameContr); + frameContr.InitControl(data); var btnSelect = new IconViewControl(58); btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png"; btnSelect.SelectedImagePath = "Item/ItemSelected.png"; btnSelect.X = Application.GetRealWidth(887); btnSelect.Y = Application.GetRealHeight(35); - frameContr.AddChidren(btnSelect, ChidrenBindMode.BindEventOnly); + frameContr.AddChidren(btnSelect, ChidrenBindMode.BindEvent); if (dicSelectScene.ContainsKey(data.Id) == true) { btnSelect.IsSelected = true; @@ -282,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; @@ -309,7 +297,7 @@ /// </summary> /// <param name="dicData"></param> /// <param name="listView"></param> - private void InitDeviceObjectRow(Dictionary<int, List<CommonDevice>> dicData, VerticalListControl listView) + private void InitDeviceObjectRow(Dictionary<string, List<CommonDevice>> dicData, VerticalListControl listView) { var scrolContr = new RoomDeviceGroupMenuControl(dicData); this.frameDeviceTable.AddChidren(scrolContr); @@ -340,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(); @@ -357,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; @@ -397,58 +385,26 @@ /// 鑾峰彇鍒嗙粍鍚庣殑璁惧 /// </summary> /// <returns></returns> - private Dictionary<int, List<CommonDevice>> GetAllGroupDevice() + private Dictionary<string, List<CommonDevice>> GetAllGroupDevice() { //鍏ㄩ儴鐨勮澶� - var listDevice = lookRoom.GetRoomListDevice(); - var dic = new Dictionary<int, List<CommonDevice>>(); + 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.GetNotHdlMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); - if (device.Type == DeviceType.IASZone) + var typeInfo = HdlDeviceCommonLogic.Current.GetDeviceBelongEnumInfo(device); + if (dic.ContainsKey(typeInfo.BeloneText) == false) { - //杩欎釜寮哄埗涓轰紶鎰熷櫒 - typeInfo.BeloneTextId = R.MyInternationalizationString.uDeviceBelongId1200; - typeInfo.ConcreteType = Common.DeviceConcreteType.Sensor; + dic[typeInfo.BeloneText] = new List<CommonDevice>(); } - if (device.Type == DeviceType.OnOffOutput) - { - //缁х數鍣ㄧ殑鏃跺��,闇�瑕佺壒娈婂鐞� - if (device.DfunctionType == DeviceFunctionType.A寮�鍏�) - { - typeInfo.BeloneTextId = R.MyInternationalizationString.uSwitch; - } - else if (device.DfunctionType == DeviceFunctionType.A鎻掑骇) - { - typeInfo.BeloneTextId = R.MyInternationalizationString.uSocket1; - } - else if (device.DfunctionType == DeviceFunctionType.A鐏厜) - { - typeInfo.BeloneTextId = R.MyInternationalizationString.uLight; - } - else - { - //缁х數鍣� - typeInfo.BeloneTextId = R.MyInternationalizationString.uDeviceBelongId2300; - } - if (dic.ContainsKey(typeInfo.BeloneTextId) == false) - { - dic[typeInfo.BeloneTextId] = new List<CommonDevice>(); - } - } - else - { - if (dic.ContainsKey(typeInfo.BeloneTextId) == false) - { - dic[typeInfo.BeloneTextId] = new List<CommonDevice>(); - } - } - dic[typeInfo.BeloneTextId].Add(device); + dic[typeInfo.BeloneText].Add(device); } return dic; } @@ -474,10 +430,10 @@ { listScene.Add(scene); } - HdlThreadLogic.Current.RunThread(async () => + HdlThreadLogic.Current.RunThread(() => { //涓婁紶鏂囦欢 - var result = await 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(() => -- Gitblit v1.8.0