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/SmartSound/Forms/SmartSoundControlContentForm.cs |  273 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 153 insertions(+), 120 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundControlContentForm.cs b/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundControlContentForm.cs
index 121602e..656eaa0 100755
--- a/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundControlContentForm.cs
+++ b/ZigbeeApp/Shared/Phone/SmartSound/Forms/SmartSoundControlContentForm.cs
@@ -4,6 +4,7 @@
 using System.Threading.Tasks;
 using Shared.Common;
 using Shared.Phone.UserCenter.SmartSound.Util;
+using Shared.Phone.UserCenter.SmartSound.Widget;
 using ZigBee.Device;
 
 namespace Shared.Phone.UserCenter.SmartSound.Forms
@@ -22,8 +23,15 @@
         private VerticalListControl listView = null;
         
         private FrameLayout contentLayout = null;
+        /// <summary>
+        /// 褰撳墠妤煎眰鐨勭储寮�
+        /// </summary>
         public int CurrentIndex = 0;
         private BottomClickButton bottomClickButton = null;
+        /// <summary>
+        /// 褰撳墠妤煎眰鐨勫悕绉�
+        /// </summary>
+        private static NormalViewControl pullLayoutText = null;
 
         public SmartSoundControlContentForm(SmartSoundInfo.SoundInfo soundInfo)            
         {
@@ -64,31 +72,57 @@
             bottomClickButton.Text = "纭";
             bottomClickButton.ButtonClickEvent += (sender, e) =>
             {
-                HdlThreadLogic.Current.RunThread(async () =>
+                if (SmartSound.getInstantiate().LayerList != null && SmartSound.getInstantiate().LayerList.Count > 0)
                 {
-                    this.ShowProgressBar();
-                    //淇濆瓨鏁版嵁
-                    if (SmartSound.getInstantiate().LayerList == null)
-                        SmartSound.getInstantiate().LayerList = new List<SmartSound.Layer>();
+                    //鐢熸垚涓�涓脊绐楃敾闈�
+                    var dialogForm = new TextDialog("纭鍒犻櫎鐜版湁鎴块棿鍒楄〃鐨勬墍鏈夋帶鍒跺唴瀹癸紝娣诲姞鍏ㄦ柊鐨勫満鏅拰鍔熻兘锛�", "纭");
+                    dialogForm.SetTitleText("鎻愮ず");
 
-                    SmartSound.getInstantiate().LayerList.Clear();
-                    SmartSound.getInstantiate().LayerList = CollateData();
-                    SmartSound.getInstantiate().TokenID = mSoundInfo.Id;
-                    SmartSound.getInstantiate().UserID = mSoundInfo.UserID;
-                    SmartSound.getInstantiate().HomeID = mSoundInfo.HomeID;
-
-                    //涓婁紶鏁版嵁鍒版湇鍔″櫒
-                    string str = await postBatchEdit();
-                    CloseProgressBar();
-
-                    HdlThreadLogic.Current.RunMainInThread(() =>
+                    //鎸変笅纭鎸夐挳
+                    dialogForm.ComfirmClickEvent += () =>
                     {
-                        CloseForm();
-                    });
-                });
+                        //鐢婚潰鍏抽棴
+                        dialogForm.CloseDialog();
+                        uploadData();
+                    };
+                }
+                else
+                {
+                    uploadData();
+                }
+               
             };
 
             bottomClickButton.Visible = false;
+        }
+
+        /// <summary>
+        /// 鎻愪氦鏁版嵁鍒版湇鍔″櫒
+        /// </summary>
+        private void uploadData()
+        {
+            HdlThreadLogic.Current.RunThread(async () =>
+            {
+                this.ShowProgressBar();
+                //淇濆瓨鏁版嵁
+                if (SmartSound.getInstantiate().LayerList == null)
+                    SmartSound.getInstantiate().LayerList = new List<SmartSound.Layer>();
+
+                SmartSound.getInstantiate().LayerList.Clear();
+                SmartSound.getInstantiate().LayerList = CollateData();
+                SmartSound.getInstantiate().TokenID = mSoundInfo.Id;
+                SmartSound.getInstantiate().UserID = mSoundInfo.UserID;
+                SmartSound.getInstantiate().HomeID = mSoundInfo.HomeID;
+
+                //涓婁紶鏁版嵁鍒版湇鍔″櫒
+                string str = await postBatchEdit();
+                CloseProgressBar();
+
+                HdlThreadLogic.Current.RunMainInThread(() =>
+                {
+                    CloseForm();
+                });
+            });
         }
 
         private void LoadAllRoomListView()
@@ -109,6 +143,7 @@
                     listView.Height = bodyFrameLayout.Height- Application.GetRealHeight(173);                    
                 }
 
+                pullLayoutText.Text = layer.LayerName;
                 listView.RemoveAll();
 
                 foreach(SmartSound.Room room in layer.RoomList)
@@ -202,26 +237,26 @@
                         for (int j = 0; j < room.ListDevice.Count; j++)
                         {
                             string key = room.ListDevice[j].ToString();
-                            var device = LocalDevice.Current.GetDevice(key);
+                            var device = HdlDeviceCommonLogic.Current.GetDevice(key);
                             if (device == null)
                                 continue;
 
                             SmartSound.Device smartDevice = new SmartSound.Device();
                             smartDevice.DeviceAddress = device.DeviceAddr;//璁惧 MAC
                             smartDevice.Epoint = device.DeviceEpoint;//璁惧绔彛
-                            smartDevice.DeviceName = Common.LocalDevice.Current.GetDeviceEpointName(device);//璁惧鍚嶇О
+                            smartDevice.DeviceName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);//璁惧鍚嶇О
                             smartDevice.NicksName = "";
                             smartDevice.DeviceType = GetDeviceType(device);//璁惧绫诲瀷
                             if (smartDevice.DeviceType == 0)
                                 continue;
 
-                            if(ZbGateway.GateWayBaseInfomations.ContainsKey(device.CurrentGateWayId) ==true)
-                            {
-                                smartDevice.GatewayID = ZbGateway.GateWayBaseInfomations[device.CurrentGateWayId].MacMark;//缃戝叧 Id
+                            if(ZbGateway.DicGatewayBaseInfo.ContainsKey(device.CurrentGateWayId) ==true)
+                            {
+                                smartDevice.GatewayID = ZbGateway.DicGatewayBaseInfo[device.CurrentGateWayId].Id;//缃戝叧 Id
                             }
-                            else
-                            {
-                                smartDevice.GatewayID = device.CurrentGateWayId;//缃戝叧 Id
+                            else
+                            {
+                                smartDevice.GatewayID = device.CurrentGateWayId;//缃戝叧 Id
                             }
        
                             if (smartDevice.DeviceName == "" || smartDevice.DeviceName == string.Empty)
@@ -246,9 +281,9 @@
                                 smartScene.SceneID = scene.Id;
                                 smartScene.DelayTime = scene.DelayTime;
                                 smartScene.NicksName = "";
-                                if (ZbGateway.GateWayBaseInfomations.ContainsKey(ZbGateway.MainGateWay.GwId) == true)
+                                if (ZbGateway.DicGatewayBaseInfo.ContainsKey(ZbGateway.MainGateWay.GwId) == true)
                                 {
-                                    smartScene.GatewayID = ZbGateway.GateWayBaseInfomations[ZbGateway.MainGateWay.GwId].MacMark;//缃戝叧 Id
+                                    smartScene.GatewayID = ZbGateway.DicGatewayBaseInfo[ZbGateway.MainGateWay.GwId].Id;//缃戝叧 Id
                                 }
                                 else
                                 {
@@ -332,7 +367,6 @@
             if (tempLayer == null) return;
 
           
-
             #region 娣诲姞妤煎眰
 
             bool floor_exists = false;
@@ -491,136 +525,135 @@
             return TempDatas;
         }
 
-        #region 鈻� 鑷畾涔夋ゼ灞傞�夋嫨鎺т欢_____________________
-
-        /// <summary>
-        /// 鎴块棿鍒楄〃琛�
-        /// </summary>
-        private class MyPullControl : FrameRowControl
+        #region 鈻� 鑷畾涔夋ゼ灞傞�夋嫨鎺т欢_____________________
+
+        /// <summary>
+        /// 鎴块棿鍒楄〃琛�
+        /// </summary>
+        private class MyPullControl : FrameRowControl
         {
 
             private SmartSoundControlContentForm smartSoundDataAdd = null;
             private List<SmartSound.Layer> Layers = null;
-            /// <summary>
-            /// 鎴块棿鍒楄〃
-            /// </summary>
-            private NormalViewControl btnName = null;
-
-            /// <summary>
-            /// 鎴块棿鍒楄〃琛�
-            /// </summary>
-            public MyPullControl(SmartSoundControlContentForm _SmartSoundDataAdd,List<SmartSound.Layer> _layers)
-            {
-                this.smartSoundDataAdd = _SmartSoundDataAdd;
-                this.Layers = _layers;
+            /// <summary>
+            /// 鎴块棿鍒楄〃
+            /// </summary>
+            private NormalViewControl btnName = null;
+
+            /// <summary>
+            /// 鎴块棿鍒楄〃琛�
+            /// </summary>
+            public MyPullControl(SmartSoundControlContentForm _SmartSoundDataAdd,List<SmartSound.Layer> _layers)
+            {
+                this.smartSoundDataAdd = _SmartSoundDataAdd;
+                this.Layers = _layers;
                 this.UseClickStatu = false;
-                this.BackgroundColor = UserCenterColor.Current.White;
-                this.Height = Application.GetRealHeight(173);
+                this.BackgroundColor = UserCenterColor.Current.White;
+                this.Height = Application.GetRealHeight(173);
             }
             
-            /// <summary>
-            /// 鍒濆鍖栨帶浠�
-            /// </summary>
-            public void InitControl()
+            /// <summary>
+            /// 鍒濆鍖栨帶浠�
+            /// </summary>
+            public void InitControl()
             {
                 //鏄剧ず鏂囨湰
-                btnName = this.AddLeftCaption(string.Empty, 700);
-                btnName.Height = Application.GetRealHeight(60);
-                btnName.TextSize = 17;
-                btnName.Y = Application.GetRealHeight(57);
+                btnName = this.AddLeftCaption(string.Empty, 700);
+                btnName.Height = Application.GetRealHeight(60);
+                btnName.TextSize = 17;
+                btnName.Y = Application.GetRealHeight(57);
                 btnName.Text = "鎴块棿鍒楄〃";
 
-                var right_icon=this.AddRightArrow();
-                right_icon.SelectedImagePath = "SmartSound/PullDown.png";
-                right_icon.UnSelectedImagePath = "SmartSound/PullDown.png";
-                right_icon.ButtonClickEvent += (sender, e) =>
+                var right_icon=this.AddRightArrow();
+                right_icon.SelectedImagePath = "SmartSound/PullDown.png";
+                right_icon.UnSelectedImagePath = "SmartSound/PullDown.png";
+                right_icon.ButtonClickEvent += (sender, e) =>
                 {
                     ShowPullList();
                 };
 
-                var layout = this.AddMostRightView(Layers[smartSoundDataAdd.CurrentIndex].LayerName, 300, false);                
-                layout.Name = "pullLayout";
-                layout.ButtonClickEvent += (sender, e) =>
+                pullLayoutText = this.AddMostRightView(Layers[smartSoundDataAdd.CurrentIndex].LayerName, 300, false);
+                pullLayoutText.Name = "pullLayout";
+                pullLayoutText.ButtonClickEvent += (sender, e) =>
                 {
                     ShowPullList();
-                };
-
+                };
+                pullLayoutText.Text = Layers[smartSoundDataAdd.CurrentIndex].LayerName;
+
                 if (Layers.Count == 1)
-                {
-                    right_icon.Visible = false;
-                    layout.Visible = false;
-                }
-                
-            }
-
+                {
+                    right_icon.Visible = false;
+                    pullLayoutText.Visible = false;
+                }                
+            }
+
             private void ShowPullList()
             {
                 //鎴块棿鍒楄〃琛寋鎴块棿鍒楄〃 textView锛屾ゼ灞備笅鎷夌獥}
                 //鏄剧ず鎴块棿{甯﹂�夋嫨妗嗙殑锛涘綋閫変腑浜嗘埧闂村悗闇�瑕佸湪搴曢儴寮瑰嚭纭鎸夐挳锛岀偣鍑荤‘璁よ烦杞埌鏂扮殑鐣岄潰}
                 var pull_frame = new TopRightMenuControl(Layers.Count, 2);
+                
                 pull_frame.Y = this.Height;
 
                 for (int i = 0; i < Layers.Count; i++)
                 {
+                    int index = i;
                     //鍒涘缓妤煎眰
                     pull_frame.AddRowMenu(Layers[i].LayerName, "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () =>
                     {
-                        smartSoundDataAdd.CurrentIndex = i;
+                        smartSoundDataAdd.CurrentIndex = index;
                         smartSoundDataAdd.LoadAllRoomListView();
                     });
                 }
-            }
+            }
         }
         #endregion
                
-        #region 鈻� 鑷畾涔夋埧闂撮�夋嫨鎺т欢_____________________
+        #region 鈻� 鑷畾涔夋埧闂撮�夋嫨鎺т欢_____________________
 
-        /// <summary>
-        /// 鎴块棿鍒楄〃琛�
-        /// </summary>
-        private class RoomRowLayout : FrameRowControl
+        /// <summary>
+        /// 鎴块棿鍒楄〃琛�
+        /// </summary>
+        private class RoomRowLayout : FrameRowControl
         {
             private SmartSoundControlContentForm smartSoundControlContentForm = null;
 
             private SmartSound.Room mRoom = null;
-            /// <summary>
-            /// 鎴块棿鍚嶇О
-            /// </summary>
-            private NormalViewControl btnName = null;
-
-            private IconViewControl Right_icon = null;            
-
-            /// <summary>
-            /// 鎴块棿鍒楄〃琛�
-            /// </summary>
-            public RoomRowLayout(SmartSoundControlContentForm _smartSoundControlContentForm,SmartSound.Room _room)
-            {
-                this.smartSoundControlContentForm = _smartSoundControlContentForm;
-                this.mRoom = _room;
+            /// <summary>
+            /// 鎴块棿鍚嶇О
+            /// </summary>
+            private NormalViewControl btnName = null;
+
+            private MostRightIconControl Right_icon = null;            
+
+            /// <summary>
+            /// 鎴块棿鍒楄〃琛�
+            /// </summary>
+            public RoomRowLayout(SmartSoundControlContentForm _smartSoundControlContentForm,SmartSound.Room _room)
+            {
+                this.smartSoundControlContentForm = _smartSoundControlContentForm;
+                this.mRoom = _room;
                 this.UseClickStatu = false;
-                this.BackgroundColor = UserCenterColor.Current.White;
-                this.Height = Application.GetRealHeight(170);
+                this.BackgroundColor = UserCenterColor.Current.White;
+                this.Height = Application.GetRealHeight(170);
             }
 
-            /// <summary>
-            /// 鍒濆鍖栨帶浠�
-            /// </summary>
-            public void InitControl()
+            /// <summary>
+            /// 鍒濆鍖栨帶浠�
+            /// </summary>
+            public void InitControl()
             {
                 //鏄剧ず鏂囨湰
-                btnName = this.AddLeftCaption(string.Empty, 2000);
-                btnName.Height = Application.GetRealHeight(60);
-                btnName.TextSize = 17;
-                btnName.Y = Application.GetRealHeight(57);
+                btnName = this.AddLeftCaption(string.Empty, 2000);
+                btnName.Height = Application.GetRealHeight(60);
+                btnName.TextSize = 14;
+                btnName.Y = Application.GetRealHeight(57);
                 btnName.Text = mRoom.RoomName;
 
-                Right_icon = this.AddRightArrow();
-                Right_icon.Width = Application.GetRealWidth(115);
-                Right_icon.Height = Application.GetRealHeight(115);
+                Right_icon = this.AddMostRightEmptyIcon(58, 58);
                 Right_icon.Gravity = Gravity.CenterVertical;
-                Right_icon.X = Right_icon.X - Application.GetRealWidth(60);
 
-                btnName.ButtonClickEvent += (sender, e) =>
+                btnName.ButtonClickEvent += (sender, e) =>
                 {
                     mRoom.Checked = true;
                     RefreshRightIconState(mRoom.Checked);
@@ -637,23 +670,23 @@
                 RefreshRightIconState(mRoom.Checked);
                 AddBottomLine();
 
-            }
-
+            }
+
             private void RefreshRightIconState(bool bol = false)
-            {
+            {
                 try
                 {
                     if (bol)
                     {
-                        Right_icon.SelectedImagePath = "SmartSound/CheckBoxSel.png";
-                        Right_icon.UnSelectedImagePath = "SmartSound/CheckBoxSel.png";
+                        Right_icon.SelectedImagePath = "Item/ItemSelected.png";
+                        Right_icon.UnSelectedImagePath = "Item/ItemSelected.png";
 
                         smartSoundControlContentForm.AddData(mRoom);
                     }
                     else
                     {
-                        Right_icon.SelectedImagePath = "SmartSound/CheckBoxDef.png";
-                        Right_icon.UnSelectedImagePath = "SmartSound/CheckBoxDef.png";
+                        Right_icon.SelectedImagePath = "Item/ItemUnSelected.png";
+                        Right_icon.UnSelectedImagePath = "Item/ItemUnSelected.png";
 
                         smartSoundControlContentForm.RemoveData(mRoom);
                     }
@@ -677,9 +710,9 @@
                 {
                     string error = e.Message;
                 }
-            }
-
-        }
+            }
+
+        }
         #endregion
     }
 }

--
Gitblit v1.8.0