From 1d1cad99a27c9f644c84eb3d376c70bd30a55879 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 10 三月 2021 18:02:13 +0800
Subject: [PATCH] 2021-3-10-1

---
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs |  151 +++++++++++++++++++++++++-------------------------
 1 files changed, 76 insertions(+), 75 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
index a390242..b830595 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
@@ -3,6 +3,7 @@
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using System.Collections.Generic;
+using HDL_ON.DriverLayer;
 
 namespace HDL_ON.UI
 {
@@ -49,6 +50,7 @@
         #region 鍖哄煙鍙橀噺
         Room room;
 
+        Sensor sensorTemp = new Sensor();
         #endregion
 
 
@@ -283,11 +285,7 @@
             bodyView.AddChidren(contentView);
 
             #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙
-            room = new Room();
-            if (DB_ResidenceData.residenceData.rooms.Count > 0)
-            {
-                room = DB_ResidenceData.residenceData.rooms[0];
-            }
+            room = new Room() { roomName = Language.StringByID(StringId.All)};
             btnFoorDownIcon = new Button()
             {
                 Width = Application.GetMinRealAverage(16),
@@ -307,7 +305,7 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 TextAlignment = TextAlignment.CenterLeft,
-                Text = room.name,
+                Text = room.roomName,
             };
             contentView.AddChidren(btnRoom);
 
@@ -331,16 +329,10 @@
             };
             contentView.AddChidren(sensorListView);
 
-            int index = 0;
-            foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience)
-            {
-                if ( sensor.functionType == FunctionType.WindPower)
-                {
-                    continue;
-                }
-                LoadSensorDiv(sensor, index);
-                index++;
-            }
+            LoadSenesorList();
+
+            LoadEventList();
+
 
             #endregion
 
@@ -350,18 +342,32 @@
             new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
 
         }
+
         /// <summary>
         /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
         /// </summary>
-        void LoadSensorDiv(Sensor sensor,int index)
+        void LoadSenesorList()
         {
-            if (sensor.roomIdList.Contains(room.sid))
+            sensorListView.RemoveAll();
+            int index = 0;
+            foreach (var sensor in FunctionList.List.GetEnvirSensorsList())
+            {
+                LoadSensorDiv(sensor, index);
+                index++;
+            }
+        }
+
+        /// <summary>
+        /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
+        /// </summary>
+        void LoadSensorDiv(Function sensor,int index)
+        {
+            var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
+            var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
+
+            if (room.roomId == "" ||  sensor.roomIds.Contains(room.roomId))
             {
                 var sensorTag = sensor.sid;
-                if (sensor.bus_Data != null)
-                {
-                    sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID;
-                }
                 FrameLayout sensorView = new FrameLayout()
                 {
                     Width = Application.GetRealWidth(148),
@@ -386,10 +392,10 @@
                     Width = Application.GetRealWidth(48),
                     Height = Application.GetRealWidth(48),
                     OpenAngle = 10,
-                    ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1],
+                    ProgressBarColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1],
                     MinValue = 0,
                     MaxValue = 96,
-                    Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel,
+                    Progress = (96 / sensorTemp.GetLevelColorList(sensor.spk).Count * sensorTemp.GetCurLevel(sensor)),
                     IsClickable = false,
                     ArcColor = CSS_Color.BackgroundColor,
                     ArcWidth = Application.GetRealWidth(4),
@@ -407,32 +413,31 @@
                     TextAlignment = TextAlignment.Center,
                     TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                     TextColor = CSS_Color.FirstLevelTitleColor,
-                    TextID = sensor.functionTypeNameId,
+                    TextID = sensorTemp.GetFunctionTypeNameId(sensor.spk),
                     Tag = "SensorTitle"
                 };
                 sensorView.AddChidren(btnSensorTitle);
                 btnSensorTitle.MouseUpEventHandler = (sender, e) => {
+                    #region 
                     var esp = new EnvironmentalSensorPage(sensor);
                     MainPage.BasePageView.AddChidren(esp);
                     esp.LoadPage();
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    #endregion
                 };
 
-                if ( sensor.functionType != FunctionType.WindPower)
+                var btnInfoIcon = new Button()
                 {
-                    var btnInfoIcon = new Button()
-                    {
-                        X = Application.GetRealWidth(120),
-                        Width = Application.GetRealWidth(28),
-                        Height = Application.GetRealWidth(28),
-                        UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png",
-                    };
-                    sensorView.AddChidren(btnInfoIcon);
-                    btnInfoIcon.MouseUpEventHandler = (sender, e) =>
-                    {
-                        LoadInfo(sensor);
-                    };
-                }
+                    X = Application.GetRealWidth(120),
+                    Width = Application.GetRealWidth(28),
+                    Height = Application.GetRealWidth(28),
+                    UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png",
+                };
+                sensorView.AddChidren(btnInfoIcon);
+                btnInfoIcon.MouseUpEventHandler = (sender, e) =>
+                {
+                    LoadInfo(sensor);
+                };
 
                 var btnSensorValues = new Button()
                 {
@@ -444,7 +449,7 @@
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
                     IsBold = true,
-                    Text = sensor.values.ToString(),
+                    Text = sensor.GetAttrState(FunctionAttributeKey.Value),
                     Tag = "SensorValues"
                 };
                 sensorView.AddChidren(btnSensorValues);
@@ -456,23 +461,24 @@
                     Width = Application.GetRealWidth(50),
                     Height = Application.GetRealWidth(18),
                     TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = sensor.levelColorList[sensor.curLevel - 1],
+                    TextColor = levelColorList[sensorTemp.GetCurLevel( sensor) - 1],
                     TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-                    TextID = sensor.levelTextList[sensor.curLevel - 1],
+                    TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1],
                     Tag = "SensorLevel"
                 };
                 sensorView.AddChidren(btnLevel);
 
-                //Control.Send(CommandType_A.read, sensor);
-                Control.SendReadCommand(sensor);
+                Control.Ins.SendReadCommand(sensor);
             }
         }
 
         /// <summary>
         /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭�
         /// </summary>
-        void LoadInfo(Sensor sensor)
+        void LoadInfo(Function sensor)
         {
+            var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
+            var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
             Dialog dialog = new Dialog();
 
             FrameLayout dialogBodyView = new FrameLayout();
@@ -481,13 +487,12 @@
             {
                 dialog.Close();
             };
-
             VerticalScrolViewLayout infoView = new VerticalScrolViewLayout()
             {
                 Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(667 - 94 - (sensor.levelColorList.Count * 44) - 20),
+                Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20),
                 Width = Application.GetRealWidth(343),
-                Height = Application.GetRealHeight(94 + (sensor.levelColorList.Count * 44) + sensor.levelColorList.Count),
+                Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count),
                 Radius = (uint)Application.GetRealWidth(12),
                 BackgroundColor = CSS_Color.MainBackgroundColor,
                 Animate = Animate.DownToUp,
@@ -506,29 +511,21 @@
             };
             infoView.AddChidren(btnTitle);
 
-            switch (sensor.functionType)
+            switch (sensor.spk)
             {
-                case FunctionType.PM10:
-                    btnTitle.Text = "PM1.0(ug/m虏)";
-                    break;
-                case FunctionType.PM25:
+                case SPK.SensorPm25:
                     btnTitle.Text = "PM2.5(ug/m虏)";
                     break;
-                case FunctionType.WindPower:
-
-                    break;
-                //case FunctionType.Noise:
-                //    break;
-                case FunctionType.Temp:
+                case SPK.SensorTemperature:
                     btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
                     break;
-                case FunctionType.TVOC:
+                case SPK.SensorTVOC:
                     btnTitle.Text = "TVOC(PPM)";
                     break;
-                case FunctionType.CO2:
+                case SPK.SensorCO2:
                     btnTitle.Text = "CO2(PPM)";
                     break;
-                case FunctionType.Humidity:
+                case SPK.SensorHumidity:
                     btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
                     break;
             }
@@ -571,7 +568,7 @@
                 IsBold = true,
                 TextID = StringId.ColorValue,
             });
-            for (int index = 0; index < sensor.levelTextList.Count; index++)
+            for (int index = 0; index < levelTextList.Count; index++)
             {
                 infoView.AddChidren(new Button()
                 {
@@ -595,7 +592,7 @@
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.TextFontSize,
                     IsBold = true,
-                    Text = sensor.intervalValue[index]
+                    Text = sensorTemp.GetIntervalValue(sensor.spk)[index]
                 });
 
                 subInfoView.AddChidren(new Button()
@@ -606,7 +603,7 @@
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.TextFontSize,
                     IsBold = true,
-                    TextID = sensor.levelTextList[index]
+                    TextID = levelTextList[index]
                 });
 
                 subInfoView.AddChidren(new Button()
@@ -616,7 +613,7 @@
                     Width = Application.GetRealWidth(38),
                     Height = Application.GetRealHeight(18),
                     Radius = (uint)Application.GetRealWidth(4),
-                    BackgroundColor = sensor.levelColorList[index]
+                    BackgroundColor = levelColorList[index]
                 });
             }
 
@@ -642,7 +639,7 @@
                 var dispalyView = new FrameLayout()
                 {
                     X = Application.GetRealWidth(10),
-                    Y = Application.GetRealHeight(100),
+                    Y = Application.GetRealHeight(266),
                     Width = Application.GetRealWidth(160),
                     Height = Application.GetRealHeight(110),
                     BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
@@ -659,15 +656,15 @@
                 };
                 dispalyView.AddChidren(contentView);
 
-                if (DB_ResidenceData.residenceData.rooms.Count < 2)
+                if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
                 {
                 }
-                else if (DB_ResidenceData.residenceData.rooms.Count < 3)
+                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
                 {
                     dispalyView = new FrameLayout()
                     {
                         X = Application.GetRealWidth(10),
-                        Y = Application.GetRealHeight(100),
+                        Y = Application.GetRealHeight(266),
                         Width = Application.GetRealWidth(160),
                         Height = Application.GetRealHeight(155),
                         BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
@@ -677,12 +674,12 @@
                     contentView.Height = Application.GetRealHeight(45 * 3);
                     dispalyView.AddChidren(contentView);
                 }
-                else if (DB_ResidenceData.residenceData.rooms.Count < 4)
+                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
                 {
                     dispalyView = new FrameLayout()
                     {
                         X = Application.GetRealWidth(10),
-                        Y = Application.GetRealHeight(100),
+                        Y = Application.GetRealHeight(266),
                         Width = Application.GetRealWidth(160),
                         Height = Application.GetRealHeight(200),
                         BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
@@ -697,7 +694,7 @@
                     dispalyView = new FrameLayout()
                     {
                         X = Application.GetRealWidth(10),
-                        Y = Application.GetRealHeight(100),
+                        Y = Application.GetRealHeight(266),
                         Width = Application.GetRealWidth(160),
                         Height = Application.GetRealHeight(245),
                         BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
@@ -710,10 +707,13 @@
                 }
 
 
+                var showListRoom = new List<Room>();
+                showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
+                showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
 
-                foreach (var roomTemp in DB_ResidenceData.residenceData.rooms)
+                foreach (var roomTemp in showListRoom) 
                 {
-                    string roomName = roomTemp.name;
+                    string roomName = roomTemp.roomName;
                     var btnRoomName = new Button()
                     {
                         Gravity = Gravity.CenterHorizontal,
@@ -735,6 +735,7 @@
                         dialog.Close();
                         btnRoom.Text = roomName;
                         room = roomTemp;
+                        LoadSenesorList();
                     };
                 }
 

--
Gitblit v1.8.0