From c6b35c3138b944830b5336bf610f918154dd47c7 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期六, 12 十月 2019 15:45:10 +0800
Subject: [PATCH] 合并门锁,完成住宅管理

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs |   71 ++++++++++++++++++++++-------------
 1 files changed, 45 insertions(+), 26 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
index 6bccb26..15b929a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
@@ -36,6 +36,10 @@
         /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧
         /// </summary>
         private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
+        /// <summary>
+        /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍔熻兘
+        /// </summary>
+        private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>();
 
         #endregion
 
@@ -110,6 +114,34 @@
                         }
                     }
                 }
+                foreach (var epoint in dicDeviceFuncType.Keys)
+                {
+                    var device = Common.LocalDevice.Current.GetDevice(deviceMac, epoint);
+                    if (device == null)
+                    {
+                        continue;
+                    }
+                    //璁剧疆鍔熻兘绫诲瀷
+                    device.DfunctionType = dicDeviceFuncType[epoint];
+                    if (device.IsCustomizeImage == true)
+                    {
+                        continue;
+                    }
+                    //閲嶆柊璁剧疆鍥剧墖
+                    if (device.DfunctionType == DeviceFunctionType.A寮�鍏�)
+                    {
+                        device.IconPath = "Device/Switch.png";
+                    }
+                    else if (device.DfunctionType == DeviceFunctionType.A鎻掑骇)
+                    {
+                        device.IconPath = "Device/Socket1.png";
+                    }
+                    else if (device.DfunctionType == DeviceFunctionType.A鐏厜)
+                    {
+                        device.IconPath = "Device/Light.png";
+                    }
+                    device.ReSave();
+                }
                 this.CloseProgressBar();
                 //鍏抽棴鑷韩
                 this.CloseForm();
@@ -171,18 +203,6 @@
 
             //娣诲姞鍔熻兘绫诲瀷琛�
             this.AddFunctionTypeRow();
-
-            //鍊熺敤Y杞村潗鏍�
-            var btnTemp = new BottomClickButton();
-            var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount;
-            if (bodyFrameLayout.Height - btnTemp.Yaxis + realHeight > listview.Height)
-            {
-                //淇冧娇琚尅浣忕殑鑿滃崟鑳藉鍚戜笂婊戝姩
-                var frameTemp = new FrameLayout();
-                frameTemp.Height = bodyFrameLayout.Height - btnTemp.Yaxis + Application.GetRealHeight(115);
-                listview.AddChidren(frameTemp);
-            }
-            btnTemp = null;
         }
 
         #endregion
@@ -252,32 +272,31 @@
             {
                 //鍔熻兘绫诲瀷
                 string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType);
+                var DfunctionType = nowSelectDevice.DfunctionType;
+                if (this.dicDeviceFuncType.ContainsKey(nowSelectDevice.DeviceEpoint) == true)
+                {
+                    DfunctionType = this.dicDeviceFuncType[nowSelectDevice.DeviceEpoint];
+                }
 
                 //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛�
                 int nowSelectNo = 1;
                 string strType = string.Empty;
-                if (nowSelectDevice.DfunctionType == DeviceFunctionType.A鐏厜)
+                if (DfunctionType == DeviceFunctionType.A鐏厜)
                 {
                     strType = Language.StringByID(R.MyInternationalizationString.uLight);
                     nowSelectNo = 1;
                 }
-                else if (nowSelectDevice.DfunctionType == DeviceFunctionType.A寮�鍏�)
+                else if (DfunctionType == DeviceFunctionType.A寮�鍏�)
                 {
                     strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
                     nowSelectNo = 0;
                 }
-                else if (nowSelectDevice.DfunctionType == DeviceFunctionType.A鎻掑骇)
+                else if (DfunctionType == DeviceFunctionType.A鎻掑骇)
                 {
                     strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
                     nowSelectNo = 2;
                 }
-                else
-                {
-                    //榛樿鐏厜
-                    strType = Language.StringByID(R.MyInternationalizationString.uLight);
-                    nowSelectDevice.DfunctionType = DeviceFunctionType.A鐏厜;
-                    nowSelectDevice.ReSave();
-                }
+
                 var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
                 btnFunction.UseClickStatu = false;
                 listview.AddChidren(btnFunction);
@@ -307,19 +326,19 @@
                         {
                             btnFunction.Text = listText[selectNo];
                             nowSelectNo = selectNo;
+                            //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨�
                             if (selectNo == 0)
                             {
-                                nowSelectDevice.DfunctionType = DeviceFunctionType.A寮�鍏�;
+                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A寮�鍏�;
                             }
                             else if (selectNo == 1)
                             {
-                                nowSelectDevice.DfunctionType = DeviceFunctionType.A鐏厜;
+                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鐏厜;
                             }
                             else
                             {
-                                nowSelectDevice.DfunctionType = DeviceFunctionType.A鎻掑骇;
+                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鎻掑骇;
                             }
-                            nowSelectDevice.ReSave();
                         };
                     };
                 }

--
Gitblit v1.8.0