From cda2410f9c29f2fadc16e9de38ccae95b75a89dd Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 09 六月 2021 10:51:13 +0800
Subject: [PATCH] 1

---
 HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs |  244 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 159 insertions(+), 85 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index cd5f76e..2f3552a 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -76,6 +76,7 @@
 
         public void LoadPage()
         {
+            MainPage.CurPageIndex = 1;
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
             #region top
             FrameLayout topView = new FrameLayout()
@@ -177,7 +178,7 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 TextAlignment = TextAlignment.CenterLeft,
-                Text = DB_ResidenceData.residenceData.CurFoor,
+                Text = DB_ResidenceData.Instance.CurFloor.roomName,
             };
             roomFloorChangeView.AddChidren(btnFloor);
             /// <summary>
@@ -373,7 +374,14 @@
                         roomView.RemoveFromParent();
                     };
 
-                    var view = new RoomPage(room, ReloadRoomName, deleteAction);
+                    //鎴块棿鑳屾櫙鍥句慨鏀逛簨浠跺洖璋�
+                    Action modifyImageAction = () =>
+                    {
+                        //roomViewbg.ImagePath = room.backgroundImage;
+                        ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
+                    };
+
+                    var view = new RoomPage(room, ReloadRoomName, deleteAction, modifyImageAction);
                     MainPage.BasePageView.AddChidren(view);
                     view.LoadPage();
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -423,10 +431,11 @@
 
             var lastY1 = Application.GetRealWidth(16);
             var lastY2 = Application.GetRealWidth(16);
+            var functionContentViewHeight = Application.GetRealWidth(16);
 
             var functionCategoryCount = 0;
 
-            foreach (var item in DB_ResidenceData.residenceData.functionTypeList)
+            foreach (var item in DB_ResidenceData.Instance.functionTypeList)
             {
                 int functionCount = 0;
                 int functionOnCount = 0;
@@ -434,64 +443,86 @@
                 {
                     case ShowFunction.Light:
                         #region Light
-                        functionCount = DB_ResidenceData.functionList.lights.Count;
-                        functionOnCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetLightList().Count;
+                        functionOnCount = FunctionList.List.GetLightList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.AC:
                         #region AC
-                        functionCount = DB_ResidenceData.functionList.aCs.Count;
-                        functionOnCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetAcList().Count;
+                        functionOnCount = FunctionList.List.GetAcList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.Curtain:
                         #region Curtain
-                        functionCount = DB_ResidenceData.functionList.curtains.Count;
-                        functionOnCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetCurtainList().Count;
+                        functionOnCount = FunctionList.List.GetCurtainList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.FloorHeating:
                         #region 鍦扮儹
-                        functionCount = DB_ResidenceData.functionList.floorHeatings.Count;
-                        functionOnCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetFloorHeatingList().Count;
+                        functionOnCount = FunctionList.List.GetFloorHeatingList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.DoorLock:
                         break;
                     case ShowFunction.Electric:
                         #region 鐢靛櫒
-                        functionCount = DB_ResidenceData.functionList.electricals.Count;
-                        functionOnCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetElectricals().Count;
+                        functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.EnergyMonitoring:
+                        #region 鑳芥簮
+                        functionCount = FunctionList.List.GetEnergyList().Count;
+                        functionOnCount = FunctionList.List.GetEnergyList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        #endregion
                         break;
                     case ShowFunction.Environmental:
                         #region 鐜鏁版嵁
-                        functionCount = DB_ResidenceData.functionList.sensorsEnvironmentalScience.Count;
+                        functionCount = FunctionList.List.GetEnvirSensorsList().Count;
                         #endregion
                         break;
                     case ShowFunction.FreshAir:
+                        functionCount = FunctionList.List.GetAirFreshList().Count;
                         break;
                     case ShowFunction.Music:
                         functionCount = Music.A31MusicModel.A31MusicModelList.Count;
                         functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        if(functionCount == 0)
+                        {
+                            functionCount = FunctionList.List.GetMusicList().Count;
+                        }
                         break;
                     case ShowFunction.Panel:
                         break;
                     case ShowFunction.SecurityMonitoring:
+                        functionCount = 1;
                         break;
                     case ShowFunction.Sensor:
+                        functionCount = FunctionList.List.GetArmSensorList().Count;
                         break;
                     case ShowFunction.VideoIntercom:
+                        if (FunctionList.List.videoIntercom != null)
+                        {
+                            functionCount = 1;
+                        }
+                        break;
+                    case ShowFunction.SecurityCenter:
+                        functionCount = FunctionList.List.securities.Count;
+#if DEBUG
+                        functionCount = 1;
+#endif
                         break;
 
                 }
 
-                if (functionCount == 0 && item != ShowFunction.Music)
+                if(functionCount == 0)
                 {
-                    //continue;
+                    continue;
                 }
+
                 functionCategoryCount++;
 
                 FrameLayout functionView = new FrameLayout()
@@ -524,19 +555,54 @@
                 {
                     s2View.AddChidren(functionView);
                 }
+                functionContentViewHeight = functionView.Bottom;
 
 
                 Button btnName = new Button()
                 {
                     X = Application.GetRealWidth(16),
                     Y = Application.GetRealHeight(14),
-                    Width = Application.GetRealWidth(120),
+                    Width = Application.GetRealWidth(140),
                     Height = Application.GetRealHeight(24),
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.TextFontSize,
                     TextAlignment = TextAlignment.CenterLeft,
+                    IsMoreLines = true,
                 };
                 functionView.AddChidren(btnName);
+
+                if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom
+                    && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir
+                    && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter
+                    && functionCount != 0)
+                {
+                    Button btnFunctionCount = new Button()
+                    {
+                        X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length),
+                        Y = btnName.Bottom,
+                        Width = Application.GetRealWidth(120),
+                        Height = Application.GetRealHeight(24),
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                        TextAlignment = TextAlignment.CenterLeft,
+                        Text = "/" + functionCount,
+                    };
+                    functionView.AddChidren(btnFunctionCount);
+                    Button btnOpenCount = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Y = btnName.Bottom,
+                        Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
+                        Height = Application.GetRealHeight(24),
+                        TextColor = CSS_Color.MainColor,
+                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                        TextAlignment = TextAlignment.CenterLeft,
+                        Text = functionOnCount.ToString(),
+                        Tag = item + "_onCount",
+                        BorderWidth = 0,
+                    };
+                    functionView.AddChidren(btnOpenCount);
+                }
 
 
                 Button btnFunctionViewBg;
@@ -553,8 +619,6 @@
                     case ShowFunction.Light:
                         #region Light
                         btnName.TextID = StringId.Lights;
-                        functionCount = DB_ResidenceData.functionList.lights.Count;
-                        functionOnCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         Button btnLightPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -570,17 +634,15 @@
 
                         btnLightPower.MouseUpEventHandler = (sender, e) =>
                         {
-                            LoadEvent_SwitchFunction(btnLightPower, item);
+                            LoadEvent_SwitchFunction(btnLightPower, item, functionView);
                         };
                         functionPageTitleId = StringId.Lights;
-                      
+
                         #endregion
                         break;
                     case ShowFunction.AC:
                         #region AC
                         btnName.TextID = StringId.AC;
-                        functionCount = DB_ResidenceData.functionList.aCs.Count;
-                        functionOnCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         Button btnAcPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -595,7 +657,7 @@
                         functionView.AddChidren(btnAcPower);
                         btnAcPower.MouseUpEventHandler = (sender, e) =>
                         {
-                            LoadEvent_SwitchFunction(btnAcPower, item);
+                            LoadEvent_SwitchFunction(btnAcPower, item, functionView);
                         };
                         functionPageTitleId = StringId.AC;
                         #endregion
@@ -603,8 +665,6 @@
                     case ShowFunction.Curtain:
                         #region Curtain
                         btnName.TextID = StringId.Curtain;
-                        functionCount = DB_ResidenceData.functionList.curtains.Count;
-                        functionOnCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         Button btnClose;
                         btnClose = new Button()
                         {
@@ -614,8 +674,7 @@
                             Height = Application.GetRealWidth(32),
                             UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
                             SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
-                            //Tag = item + "_AllControl",
-                            IsSelected = false
+                            IsSelected = !DB_ResidenceData.Instance.GlobalCurtainStatus,
                         };
                         functionView.AddChidren(btnClose);
 
@@ -628,10 +687,10 @@
                             Height = Application.GetRealWidth(32),
                             UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png",
                             SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png",
-                            IsSelected = true,
+                            IsSelected = DB_ResidenceData.Instance.GlobalCurtainStatus,
                         };
                         functionView.AddChidren(btnOpen);
-                        LoadEvent_CurtainSwitch(btnClose, btnOpen);
+                        LoadEvent_CurtainSwitch(btnClose, btnOpen, functionView);
 
                         functionPageTitleId = StringId.Curtain;
                         #endregion
@@ -639,8 +698,6 @@
                     case ShowFunction.FloorHeating:
                         #region 鍦扮儹
                         btnName.TextID = StringId.FloorHeating;
-                        functionCount = DB_ResidenceData.functionList.floorHeatings.Count;
-                        functionOnCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         Button btnFhPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -655,7 +712,7 @@
                         functionView.AddChidren(btnFhPower);
                         btnFhPower.MouseUpEventHandler = (sender, e) =>
                         {
-                            LoadEvent_SwitchFunction(btnFhPower, item);
+                            LoadEvent_SwitchFunction(btnFhPower, item, functionView);
                         };
                         functionPageTitleId = StringId.FloorHeating;
                         #endregion
@@ -666,8 +723,6 @@
                     case ShowFunction.Electric:
                         #region 鐢靛櫒
                         btnName.TextID = StringId.Electric;
-                        functionCount = DB_ResidenceData.functionList.electricals.Count;
-                        functionOnCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         Button btnElectricPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -682,20 +737,28 @@
                         functionView.AddChidren(btnElectricPower);
                         btnElectricPower.MouseUpEventHandler = (sender, e) =>
                         {
-                            LoadEvent_SwitchFunction(btnElectricPower, item);
+                            LoadEvent_SwitchFunction(btnElectricPower, item, functionView);
                         };
                         functionPageTitleId = StringId.Electric;
                         #endregion
                         break;
                     case ShowFunction.EnergyMonitoring:
+                        #region 鑳芥簮鐩戞祴
                         btnName.TextID = StringId.EnergyMonitoring;
+                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
+                            var skipView = new EnergyMainPage();
+                            MainPage.BasePageView.AddChidren(skipView);
+                            skipView.LoadPage();
+                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                        };
+                        #endregion
                         break;
                     case ShowFunction.Environmental:
                         #region 鐜鏁版嵁
                         btnName.TextID = StringId.EnvironmentalData;
                         btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                         {
-                            var skipView = new EnvironmentalSciencePage();
+                            var skipView = new EnvironmentalPage();// EnvironmentalSciencePage();
                             MainPage.BasePageView.AddChidren(skipView);
                             skipView.LoadPage();
                             MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -704,11 +767,30 @@
                         break;
                     case ShowFunction.FreshAir:
                         btnName.TextID = StringId.FreshAir;
+                        #region Light
+                        Button btnFreshAirPower = new Button()
+                        {
+                            X = Application.GetRealWidth(120),
+                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
+                            Width = Application.GetRealWidth(32),
+                            Height = Application.GetRealWidth(32),
+                            SelectedImagePath = "Public/PowerOpen.png",
+                            UnSelectedImagePath = "Public/PowerClose.png",
+                            IsSelected = functionOnCount > 0,
+                            Tag = item + "_AllControl",
+                        };
+                        functionView.AddChidren(btnFreshAirPower);
+
+                        btnFreshAirPower.MouseUpEventHandler = (sender, e) =>
+                        {
+                            LoadEvent_SwitchFunction(btnFreshAirPower, item, functionView);
+                        };
+                        functionPageTitleId = StringId.FreshAir;
+
+                        #endregion
                         break;
                     case ShowFunction.Music:
                         btnName.TextID = StringId.Music;
-                        functionCount = Music.A31MusicModel.A31MusicModelList.Count;
-                        functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                         {
                             var musicMain = new Music.MusicMain();
@@ -722,18 +804,38 @@
                         break;
                     case ShowFunction.SecurityMonitoring:
                         btnName.TextID = StringId.SecurityMonitoring;
+                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+                        {
+                            HDLCommon.Current.Go2EZvizMonitor(bodyView);
+                        };
                         break;
                     case ShowFunction.Sensor:
                         btnName.TextID = StringId.Sensor;
-
+                        functionPageTitleId = StringId.Sensor;
                         break;
                     case ShowFunction.VideoIntercom:
                         btnName.TextID = StringId.VideoIntercom;
+                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+                        {
+                            var videoMethod = new UI2.FuntionControlView.Video.VideoMethod();
+                            videoMethod.MianView(this,FunctionList.List.videoIntercom);
+                        };
+                        break;
+                    case ShowFunction.SecurityCenter:
+                        btnName.TextID = StringId.SecurityCenter;
+                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+                        {
+                            var page = new ArmCenterPage();
+                            MainPage.BasePageView.AddChidren(page);
+                            page.LoadPage();
+                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                        };
                         break;
 
                 }
                 //鐣岄潰璺宠浆--闊充箰璺宠浆鑷繁鐨勭晫闈�--鐜璺宠浆鑷繁鐨勭晫闈�
-                if (item != ShowFunction.Music && item != ShowFunction.Environmental)
+                if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring
+                    && ShowFunction.EnergyMonitoring!= item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item)
                 {
                     btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                     {
@@ -743,45 +845,16 @@
                         MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                     };
                 }
-                if (item != ShowFunction.Environmental && functionCount != 0)
-                {
-                    Button btnFunctionCount = new Button()
-                    {
-                        X = Application.GetRealWidth(16) + Application.GetRealWidth(7 * functionCount.ToString().Length),
-                        Y = btnName.Bottom,
-                        Width = Application.GetRealWidth(120),
-                        Height = Application.GetRealHeight(24),
-                        TextColor = CSS_Color.PromptingColor1,
-                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                        TextAlignment = TextAlignment.CenterLeft,
-                        Text = "/" + functionCount,
-                    };
-                    functionView.AddChidren(btnFunctionCount);
-                    Button btnOpenCount = new Button()
-                    {
-                        X = Application.GetRealWidth(16),
-                        Y = btnName.Bottom,
-                        Width = Application.GetRealWidth(12 * functionCount.ToString().Length),
-                        Height = Application.GetRealHeight(24),
-                        TextColor = CSS_Color.MainColor,
-                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                        TextAlignment = TextAlignment.CenterLeft,
-                        Text = functionOnCount.ToString(),
-                        Tag = item + "_onCount",
-                        BorderWidth = 0,
-                    };
-                    functionView.AddChidren(btnOpenCount);
-                }
                 index++;
             }
 
-            if (functionCategoryCount > 4)
+            //if (functionCategoryCount > 4)
             {
-                functionContentView.Height = Application.GetRealHeight((220 * functionCategoryCount / 2) + 20);
-                s1View.Height = s2View.Height = functionContentView.Height;
+                //functionContentView.Height = functionContentViewHeight;// Application.GetRealWidth((240 * (functionCategoryCount / 2)));
+                s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight+ Application.GetRealWidth(40);
             }
 
-            #endregion
+#endregion
         }
 
         #region 鍒囨崲妤煎眰
@@ -871,17 +944,18 @@
                 }
 
 
-                List<string> chooseList = new List<string>();
-                chooseList.Add(Language.StringByID(StringId.All));
+                List<SpatialInfo> chooseList = new List<SpatialInfo>();
+                chooseList.Add(new SpatialInfo() { roomId = "", roomName = Language.StringByID(StringId.All) });
                 foreach (var f in SpatialInfo.CurrentSpatial.FloorList)
                 {
-                    chooseList.Add(f.roomName);
+                    chooseList.Add(f);
                 }
 
                 foreach (var floor in chooseList)
                 {
-                    if (floor != Language.StringByID(StringId.All))
+                    if (!string.IsNullOrEmpty( floor.roomId))// != Language.StringByID(StringId.All))
                     {
+                        //---鍒嗗壊绾�
                         contentView.AddChidren(new Button()
                         {
                             Gravity = Gravity.CenterHorizontal,
@@ -898,20 +972,20 @@
                         TextAlignment = TextAlignment.CenterLeft,
                         TextColor = CSS_Color.FirstLevelTitleColor,
                         SelectedTextColor = CSS_Color.MainColor,
-                        Text = floor,
+                        Text = floor.roomName,
                         TextSize = CSS_FontSize.SubheadingFontSize,
-                        IsSelected = btnFloor.Text == floor,
-                        IsMoreLines = true,
-                        Tag = floor
+                        IsSelected = floor.roomId == DB_ResidenceData.Instance.ClassificationChooseFloor.roomId,
+                        //IsMoreLines = true,
                     };
                     contentView.AddChidren(btnHomeName);
 
                     btnHomeName.MouseUpEventHandler += (senderH, en) =>
                     {
                         dialog.Close();
-                        btnFloor.Text = floor;
+                        btnFloor.Text = floor.roomName;
+                        DB_ResidenceData.Instance.ClassificationChooseFloor = floor;
                         roomsShowed.Clear();
-                        if (floor == Language.StringByID(StringId.All))
+                        if (string.IsNullOrEmpty(floor.roomId))
                         {
                             roomsShowed.AddRange(SpatialInfo.CurrentSpatial.RoomList);
                         }
@@ -919,7 +993,7 @@
                         {
                             foreach (var room in SpatialInfo.CurrentSpatial.RoomList)
                             {
-                                if (room.floorName == floor)
+                                if (room.parentId == floor.uid)
                                 {
                                     roomsShowed.Add(room);
                                 }

--
Gitblit v1.8.0