From bba578c2f0acf2eca747edcb69426771e0cadd32 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 23 三月 2020 18:20:50 +0800
Subject: [PATCH] 2020-03-23-3

---
 ZigbeeApp/Shared/Phone/UserView/UserPage.cs |  331 +++---------------------------------------------------
 1 files changed, 21 insertions(+), 310 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
index c850ea8..8df13b5 100644
--- a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
@@ -1,8 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
 using Shared.Common;
-using ZigBee.Device;
-using Shared.Phone.Device.AC;
 using System.Text;
 
 namespace Shared.Phone.UserView
@@ -10,7 +8,7 @@
     /// <summary>
     /// User page.
     /// </summary>
-    public class UserPage : FrameLayout, ZigBee.Common.IStatus
+    public class UserPage : FrameLayout
     {
         #region 鈼� 鍙橀噺_______________________
         /// <summary>
@@ -43,306 +41,6 @@
         private static readonly int tabBarEnumName_Y = 98;
         #endregion
 
-        #region 鈼� 鎺ュ彛____________________________
-
-        /// <summary>
-        /// 璇ユ帴鍙e皢寮冪敤 !!!!!!
-        /// 鏀圭敤DeviceInfoChange()
-        /// </summary>
-        /// <returns>The changed.</returns>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
-
-        }
-
-        /// <summary>
-        /// 璁惧鐘舵�佹洿鏂版帴鍙�
-        /// <para>type锛氬鏋滀负 DeviceInComingRespon:璁惧鏂颁笂鎶�</para>
-        /// <para>type锛氬鏋滀负 IASInfoReport:RemoveDeviceRespon</para>
-        /// <para>type锛氬鏋滀负 DeviceStatusReport:璁惧涓婃姤</para>
-        /// <para>type锛氬鏋滀负 IASInfoReport:IAS瀹夐槻淇℃伅涓婃姤</para>
-        /// <para>type锛氬鏋滀负 OnlineStatusChange: 璁惧鍦ㄧ嚎鐘舵�佹洿鏂�</para>
-        /// </summary>
-        /// <param name="common">Common.</param>
-        /// <param name="typeTag">Type tag.</param>
-        public void DeviceInfoChange(CommonDevice common, string typeTag)
-        {
-            var myDevice = LocalDevice.Current.GetDevice(common.DeviceAddr, common.DeviceEpoint);
-            if (myDevice == null)
-            {
-                return;
-            }
-            //璁惧涓婃姤鐘舵�佷腑 褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
-            if (typeTag == "DeviceStatusReport")
-            {
-                try
-                {
-                    if (common.DeviceStatusReport.AttriBute == null || common.DeviceStatusReport.AttriBute.Count == 0)
-                    {
-                        return;
-                    }
-                    switch (myDevice.Type)
-                    {
-                        case DeviceType.OnOffOutput:
-                            //寮�鍏冲姛鑳�
-                            if (common.DeviceStatusReport.CluterID == 6)
-                            {
-                                var onOffOutputLight = (ToggleLight)myDevice;
-                                onOffOutputLight.DeviceStatusReport = common.DeviceStatusReport;
-                                onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                onOffOutputLight.LastDateTime = DateTime.Now;
-                            }
-                            //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
-                            if (common.DeviceStatusReport.CluterID == 3)
-                            {
-                                myDevice.IsOnline = 1;
-                                myDevice.LastDateTime = DateTime.Now;
-                            }
-                            break;
-
-                        case DeviceType.AirSwitch:
-                            //寮�鍏冲姛鑳�
-                            if (common.DeviceStatusReport.CluterID == 6)
-                            {
-                                var airSwitch = (AirSwitch)myDevice;
-                                airSwitch.DeviceStatusReport = common.DeviceStatusReport;
-                                airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                airSwitch.LastDateTime = DateTime.Now;
-                            }
-                            //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
-                            if (common.DeviceStatusReport.CluterID == 3)
-                            {
-                                myDevice.IsOnline = 1;
-                                myDevice.LastDateTime = DateTime.Now;
-                            }
-                            break;
-
-                        case DeviceType.WindowCoveringDevice:
-                            if (common.DeviceStatusReport.CluterID == 258)
-                            {
-                                var rollershade = (Rollershade)myDevice;
-                                rollershade.DeviceStatusReport = common.DeviceStatusReport;
-                                var attriButeList = rollershade.DeviceStatusReport.AttriBute;
-                                switch (attriButeList[0].AttributeId)
-                                {
-                                    case 0:
-                                        rollershade.WcdType = attriButeList[0].AttriButeData;
-                                        rollershade.LastDateTime = DateTime.Now;
-                                        break;
-                                }
-                            }
-                            if (common.DeviceStatusReport.CluterID == 3)
-                            {
-                                myDevice.IsOnline = 1;
-                                myDevice.LastDateTime = DateTime.Now;
-                            }
-                            break;
-
-                        case DeviceType.Thermostat:
-                            //AC鍔熻兘
-                            if (common.DeviceStatusReport.CluterID == 513)
-                            {
-                                var ac = (AC)myDevice;
-                                ac.DeviceStatusReport = common.DeviceStatusReport;
-                                var attriButeList = ac.DeviceStatusReport.AttriBute;
-                                foreach (var attList in attriButeList)
-                                {
-                                    //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
-                                    var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default;
-                                    switch (attList.AttributeId)
-                                    {
-                                        case 0:
-                                            ac.currentLocalTemperature = curTemp;
-                                            ac.LastDateTime = DateTime.Now;
-                                            break;
-                                        case 17:
-                                            ac.currentCoolingSetpoint = curTemp;
-                                            ac.LastDateTime = DateTime.Now;
-                                            break;
-                                        case 18:
-                                            ac.currentHeatingSetpoint = curTemp;
-                                            ac.LastDateTime = DateTime.Now;
-                                            break;
-                                        case 4096:
-                                            ac.currentAutoSetpoint = curTemp;
-                                            ac.LastDateTime = DateTime.Now;
-                                            break;
-                                        case 28:
-                                            ac.currentSystemMode = attList.AttriButeData;
-                                            ac.LastDateTime = DateTime.Now;
-                                            break;
-                                        case 4097:
-                                            ac.CleanStatu = attList.AttriButeData == 42;
-                                            break;
-                                    }
-                                }
-                            }
-
-                            if (common.DeviceStatusReport.CluterID == 514)
-                            {
-                                var ac = (AC)myDevice;
-                                var attriButeList = common.DeviceStatusReport.AttriBute;
-                                ac.DeviceStatusReport = common.DeviceStatusReport;
-                                foreach (var attList in attriButeList)
-                                {
-                                    switch (attList.AttributeId)
-                                    {
-                                        case 0:
-                                            ac.currentFanMode = attList.AttriButeData;
-                                            ac.LastDateTime = DateTime.Now;
-                                            break;
-                                        case 4096:
-                                            ac.currentFanSwingMode = attList.AttriButeData;
-                                            ac.LastDateTime = DateTime.Now;
-                                            break;
-                                    }
-                                }
-                            }
-
-                            //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
-                            if (common.DeviceStatusReport.CluterID == 3)
-                            {
-                                myDevice.IsOnline = 1;
-                                myDevice.LastDateTime = DateTime.Now;
-                            }
-                            break;
-
-                        case DeviceType.DimmableLight:
-                            //璋冨厜鐏姛鑳�
-                            //寮�鍏冲姛鑳�
-                            if (common.DeviceStatusReport.CluterID == 6)
-                            {
-                                var dimmableLight = (DimmableLight)myDevice;
-                                dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
-                                dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                dimmableLight.LastDateTime = DateTime.Now;
-                            }
-                            //浜害
-                            if (common.DeviceStatusReport.CluterID == 8)
-                            {
-                                var dimmableLight = (DimmableLight)myDevice;
-                                dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
-                                var attriButeList = dimmableLight.DeviceStatusReport.AttriBute;
-                                switch (attriButeList[0].AttributeId)
-                                {
-                                    case 0:
-                                        dimmableLight.Level = attriButeList[0].AttriButeData;
-                                        dimmableLight.LastDateTime = DateTime.Now;
-                                        break;
-                                }
-                            }
-                            //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
-                            if (common.DeviceStatusReport.CluterID == 3)
-                            {
-                                myDevice.IsOnline = 1;
-                                myDevice.LastDateTime = DateTime.Now;
-                            }
-                            break;
-
-                        case DeviceType.TemperatureSensor:
-                            //娓╁害
-                            if (common.DeviceStatusReport.CluterID == 1026)
-                            {
-                                var tempera = (TemperatureSensor)myDevice;
-                                foreach (var data in common.DeviceStatusReport.AttriBute)
-                                {
-                                    if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
-                                    {
-                                        if (data.AttriButeData == 0)
-                                        {
-                                            tempera.Temperatrue = 0;
-                                        }
-                                        else if (data.AttriButeData > 32767)
-                                        {
-                                            //璐熸暟(鐗规畩澶勭悊)
-                                            string strValue = (data.AttriButeData - 65536).ToString();
-                                            //灏忔暟鐐归渶瑕佷竴浣�
-                                            strValue = strValue.Substring(0, strValue.Length - 1);
-                                            tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
-                                        }
-                                        else
-                                        {
-                                            //灏忔暟鐐归渶瑕佷竴浣�
-                                            string strValue = data.AttriButeData.ToString();
-                                            strValue = strValue.Substring(0, strValue.Length - 1);
-                                            tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
-                                        }
-                                    }
-                                }
-                            }
-                            //婀垮害
-                            if (common.DeviceStatusReport.CluterID == 1029)
-                            {
-                                var tempera = (TemperatureSensor)myDevice;
-                                foreach (var data in common.DeviceStatusReport.AttriBute)
-                                {
-                                    if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
-                                    {
-                                        if (data.AttriButeData == 0)
-                                        {
-                                            tempera.Humidity = 0;
-                                        }
-                                        else
-                                        {
-                                            //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟)
-                                            string strValue = data.AttriButeData.ToString();
-                                            strValue = strValue.Substring(0, strValue.Length - 1);
-                                            tempera.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
-                                            tempera.LastDateTime = DateTime.Now;
-                                        }
-                                    }
-                                }
-                            }
-                            break;
-                    }
-                }
-                catch (Exception ex)
-                {
-                    System.Console.WriteLine($"Error:{ex.Message}");
-                }
-            }
-            //璁惧鍦ㄧ嚎鐘舵�佷笂鎶�
-            else if (typeTag == "OnlineStatusChange")
-            {
-                myDevice.IsOnline = common.IsOnline;
-                //璁板綍鍥炲鏃堕棿
-                myDevice.LastDateTime = DateTime.Now;
-            }
-            else if (typeTag == "IASInfoReport")
-            {
-                try
-                {
-                    switch (myDevice.Type)
-                    {
-                        case DeviceType.IASZone:
-                            var iAS = (IASZone)myDevice;
-                            iAS.iASInfo = (common as IASZone).iASInfo;
-                            iAS.LastDateTime = DateTime.Now;
-                            break;
-                    }
-                }
-                catch { }
-            }
-        }
-        /// <summary>
-        /// Changeds the IL ogic status.
-        /// </summary>
-        /// <param name="logic">Logic.</param>
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-            //throw new NotImplementedException();
-        }
-        /// <summary>
-        /// Changeds the IS cene status.
-        /// </summary>
-        /// <param name="scene">Scene.</param>
-        public void ChangedISceneStatus(Scene scene)
-        {
-            //throw new NotImplementedException();
-        }
-        #endregion
-
         /// <summary>
         /// 鐢ㄦ埛鐣岄潰
         /// </summary>
@@ -365,7 +63,6 @@
         public UserPage()
         {
             BackgroundColor = Shared.Common.ZigbeeColor.Current.MainColor;
-            ZbGateway.StatusList.Add(this);
             Shared.Application.LocationAction += (lon, lat) =>
             {
                 Login.AccountLogic.Instance.ReceiveAppLatAndLon(lon.ToString(), lat.ToString());
@@ -508,15 +205,29 @@
             SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2,
             Gravity = Gravity.CenterHorizontal,
             TextSize = 10
-        };
+        };
         #endregion
+
+        #region 寮哄埗鏄剧ず鑷姩鍖栫晫闈�
 
+        /// <summary>
+        /// 寮哄埗鏄剧ず鑷姩鍖栧垪琛ㄧ晫闈�
+        /// </summary>
+        public void ShowCategoryAutoListForm()
+        {
+            //鍏抽棴鍏ㄩ儴鐣岄潰,鐩村埌涓婚〉涓烘
+            UserCenter.UserCenterLogic.CloseAllOpenForm();
+            //寮哄埗鏄剧ず鑷姩鍖栧垪琛ㄧ晫闈�
+            UserCenter.UserCenterResourse.ResidenceOption.CategoryPageSwitchIndex = 2;
+            BottomEventHandler(Instance.categoryIMG, null);
+        }
 
+        #endregion
+
         EventHandler<MouseEventArgs> BottomEventHandler = (sender, e) =>
         {
             if (sender == Instance.homePageIMG || sender == Instance.homePageName)
-            {
-
+            {
                 if (Instance.homePageName.IsSelected == true && e != null)
                 {
                     //鍙湁鏄墜鍔ㄧ偣鍑荤殑鏃跺�欐墠澶勭悊
@@ -534,7 +245,7 @@
                 Instance.settingName.IsSelected = false;
                 Instance.settingIMG.IsSelected = false;
 
-                var home = new MainPage.UserHomeView2();
+                var home = new MainPage.HomeMainPageForm();
                 Instance.BodyView.AddChidren(home);
                 home.ShowForm();
 
@@ -559,9 +270,9 @@
                 Instance.settingName.IsSelected = false;
                 Instance.settingIMG.IsSelected = false;
 
-                var category = new Phone.Device.Category.Category { };
+                var category = new Category.CategoryMainForm { };
                 Instance.BodyView.AddChidren(category);
-                category.Show();
+                category.ShowForm();
             }
             else if (sender == Instance.settingIMG || sender == Instance.settingName)
             {

--
Gitblit v1.8.0