wei
2020-12-16 dcf60777c9346ff058f06298d03173f0c53d1902
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -71,7 +71,7 @@
        {
            bodyView = this;
            roomsShowed = new List<Room>();
            roomsShowed.AddRange(DB_ResidenceData.rooms);
            roomsShowed.AddRange(SpatialInfo.CurrentSpatial.RoomList);
        }
        public void LoadPage()
@@ -177,7 +177,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>
@@ -224,20 +224,23 @@
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(184),
                    Height = Application.GetRealWidth(192),//2020-12-01 房间图片比例改回16:9
                    Radius = (uint)Application.GetRealWidth(12),
                    Tag = room.sid,
                    Tag = room.roomId,
                };
                roomListView.AddChidren(roomView);
                var roomViewbg = new ImageView()
                {
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(184),
                    ImagePath = room.backgroundImage,
                    Height = Application.GetRealWidth(192),//2020-12-01 房间图片比例改回16:9
                    //ImagePath = room.backgroundImage,
                    Radius = (uint)Application.GetRealWidth(12),
                };
                roomView.AddChidren(roomViewbg);
                //2020-12-03 修改图片加载方法
                ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
                var roomViewbgColor = new Button()
                {
@@ -252,7 +255,7 @@
                    Y = Application.GetRealHeight(12 - 2),
                    Width = Application.GetRealWidth(266),
                    Height = Application.GetRealHeight(22 + 2 + 2),
                    Text = room.floorName + room.name,
                    Text = room.floorName + room.roomName,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
@@ -260,88 +263,88 @@
                roomView.AddChidren(btnFloorAndRoomName);
                #region 环境数据
                var environmentalView = new FrameLayout()
                                {
                                    Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom,
                                    Height = Application.GetRealHeight(32),
                                    Tag = "EnvironmentalView",
                                };
                                roomView.AddChidren(environmentalView);
                //var environmentalView = new FrameLayout()
                //{
                //    Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom,
                //    Height = Application.GetRealHeight(32),
                //    Tag = "EnvironmentalView",
                //};
                //roomView.AddChidren(environmentalView);
                                Button btnTempIcon = new Button()
                                {
                                    X = Application.GetRealWidth(12),
                                    Gravity = Gravity.CenterVertical,
                                    Width = Application.GetMinRealAverage(16),
                                    Height = Application.GetMinRealAverage(16),
                                    UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png",
                                };
                                environmentalView.AddChidren(btnTempIcon);
                //Button btnTempIcon = new Button()
                //{
                //    X = Application.GetRealWidth(12),
                //    Gravity = Gravity.CenterVertical,
                //    Width = Application.GetMinRealAverage(16),
                //    Height = Application.GetMinRealAverage(16),
                //    UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png",
                //};
                //environmentalView.AddChidren(btnTempIcon);
                                var btnTempValues = new Button()
                                {
                                    X = btnTempIcon.Right + Application.GetRealWidth(4),
                                    Width = Application.GetRealWidth(30),
                                    Gravity = Gravity.CenterVertical,
                                    TextColor = CSS_Color.MainBackgroundColor,
                                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                                    Text = "--°",
                                    TextAlignment = TextAlignment.CenterLeft,
                                    Tag = "TempValues"
                                };
                                environmentalView.AddChidren(btnTempValues);
                //var btnTempValues = new Button()
                //{
                //    X = btnTempIcon.Right + Application.GetRealWidth(4),
                //    Width = Application.GetRealWidth(30),
                //    Gravity = Gravity.CenterVertical,
                //    TextColor = CSS_Color.MainBackgroundColor,
                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                //    Text = "--°",
                //    TextAlignment = TextAlignment.CenterLeft,
                //    Tag = "TempValues"
                //};
                //environmentalView.AddChidren(btnTempValues);
                                Button btnHumidityIcon = new Button()
                                {
                                    X = btnTempValues.Right + Application.GetRealWidth(2),
                                    Gravity = Gravity.CenterVertical,
                                    Width = Application.GetMinRealAverage(16),
                                    Height = Application.GetMinRealAverage(16),
                                    UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
                                };
                                environmentalView.AddChidren(btnHumidityIcon);
                //Button btnHumidityIcon = new Button()
                //{
                //    X = btnTempValues.Right + Application.GetRealWidth(2),
                //    Gravity = Gravity.CenterVertical,
                //    Width = Application.GetMinRealAverage(16),
                //    Height = Application.GetMinRealAverage(16),
                //    UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
                //};
                //environmentalView.AddChidren(btnHumidityIcon);
                                var btnHumidityValues = new Button()
                                {
                                    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                                    Width = Application.GetRealWidth(30),
                                    Gravity = Gravity.CenterVertical,
                                    TextColor = CSS_Color.MainBackgroundColor,
                                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                                    Text = "--%",
                                    TextAlignment = TextAlignment.CenterLeft,
                                    Tag = "HumidityValues"
                                };
                                environmentalView.AddChidren(btnHumidityValues);
                //var btnHumidityValues = new Button()
                //{
                //    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                //    Width = Application.GetRealWidth(30),
                //    Gravity = Gravity.CenterVertical,
                //    TextColor = CSS_Color.MainBackgroundColor,
                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                //    Text = "--%",
                //    TextAlignment = TextAlignment.CenterLeft,
                //    Tag = "HumidityValues"
                //};
                //environmentalView.AddChidren(btnHumidityValues);
                                Button btnPm25Icon = new Button()
                                {
                                    X = btnHumidityValues.Right + Application.GetRealWidth(2),
                                    Gravity = Gravity.CenterVertical,
                                    Width = Application.GetMinRealAverage(16),
                                    Height = Application.GetMinRealAverage(16),
                                    UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
                                };
                                environmentalView.AddChidren(btnPm25Icon);
                //Button btnPm25Icon = new Button()
                //{
                //    X = btnHumidityValues.Right + Application.GetRealWidth(2),
                //    Gravity = Gravity.CenterVertical,
                //    Width = Application.GetMinRealAverage(16),
                //    Height = Application.GetMinRealAverage(16),
                //    UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
                //};
                //environmentalView.AddChidren(btnPm25Icon);
                                var btnPm25Values = new Button()
                                {
                                    X = btnPm25Icon.Right + Application.GetRealWidth(4),
                                    Width = Application.GetRealWidth(30),
                                    Gravity = Gravity.CenterVertical,
                                    TextColor = CSS_Color.MainBackgroundColor,
                                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                                    Text = "--",
                                    TextAlignment = TextAlignment.CenterLeft,
                                    Tag = "Pm25Values"
                                };
                                environmentalView.AddChidren(btnPm25Values);
                                roomView.AddChidren(environmentalView);
                //var btnPm25Values = new Button()
                //{
                //    X = btnPm25Icon.Right + Application.GetRealWidth(4),
                //    Width = Application.GetRealWidth(30),
                //    Gravity = Gravity.CenterVertical,
                //    TextColor = CSS_Color.MainBackgroundColor,
                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                //    Text = "--",
                //    TextAlignment = TextAlignment.CenterLeft,
                //    Tag = "Pm25Values"
                //};
                //environmentalView.AddChidren(btnPm25Values);
                //roomView.AddChidren(environmentalView);
                #endregion
                var btnAllClose = new Button()
                {
                    X = Application.GetRealWidth(282),
                    Y = Application.GetRealHeight(126),
                    Y = Application.GetRealWidth(126),
                    Width = Application.GetMinRealAverage(58),
                    Height = Application.GetMinRealAverage(58),
                    UnSelectedImagePath = "Classification/Room/AllCloseIcon.png",
@@ -353,17 +356,24 @@
                var btn = new Button()
                {
                    Height = Application.GetRealHeight(20),
                    Height = Application.GetRealWidth(20),
                };
                roomListView.AddChidren(btn);
                roomViewbgColor.MouseUpEventHandler += (sender, e) =>
                {
                    Action ReloadRoomName = () => {
                        btnFloorAndRoomName.Text = room.floorName + room.name;
                    Action ReloadRoomName = () =>
                    {
                        btnFloorAndRoomName.Text = room.floorName + room.roomName;
                    };
                    var view = new RoomPage(room, ReloadRoomName);
                    //房间删除事件
                    Action deleteAction = () =>
                    {
                        roomView.RemoveFromParent();
                    };
                    var view = new RoomPage(room, ReloadRoomName, deleteAction);
                    MainPage.BasePageView.AddChidren(view);
                    view.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -416,7 +426,7 @@
            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;
@@ -424,41 +434,41 @@
                {
                    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.lights.Count;
                        functionOnCount = FunctionList.List.lights.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.aCs.Count;
                        functionOnCount = FunctionList.List.aCs.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.curtains.Count;
                        functionOnCount = FunctionList.List.curtains.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.floorHeatings.Count;
                        functionOnCount = FunctionList.List.floorHeatings.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.electricals.Count;
                        functionOnCount = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        #endregion
                        break;
                    case ShowFunction.EnergyMonitoring:
                        break;
                    case ShowFunction.Environmental:
                        #region 环境数据
                        functionCount = DB_ResidenceData.functionList.sensorsEnvironmentalScience.Count;
                        functionCount = FunctionList.List.sensorsEnvironmentalScience.Count;
                        #endregion
                        break;
                    case ShowFunction.FreshAir:
@@ -480,7 +490,7 @@
                if (functionCount == 0 && item != ShowFunction.Music)
                {
                    //continue;
                    continue;
                }
                functionCategoryCount++;
@@ -543,8 +553,8 @@
                    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;
                        functionCount = FunctionList.List.lights.Count;
                        functionOnCount = FunctionList.List.lights.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnLightPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
@@ -569,8 +579,8 @@
                    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;
                        functionCount = FunctionList.List.aCs.Count;
                        functionOnCount = FunctionList.List.aCs.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnAcPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
@@ -593,8 +603,8 @@
                    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;
                        functionCount = FunctionList.List.curtains.Count;
                        functionOnCount = FunctionList.List.curtains.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnClose;
                        btnClose = new Button()
                        {
@@ -605,7 +615,7 @@
                            UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
                            SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
                            //Tag = item + "_AllControl",
                            IsSelected = false
                            IsSelected = !DB_ResidenceData.Instance.GlobalCurtainStatus,
                        };
                        functionView.AddChidren(btnClose);
@@ -618,7 +628,7 @@
                            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);
@@ -629,8 +639,8 @@
                    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;
                        functionCount = FunctionList.List.floorHeatings.Count;
                        functionOnCount = FunctionList.List.floorHeatings.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnFhPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
@@ -656,8 +666,8 @@
                    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;
                        functionCount = FunctionList.List.electricals.Count;
                        functionOnCount = FunctionList.List.electricals.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        Button btnElectricPower = new Button()
                        {
                            X = Application.GetRealWidth(120),
@@ -737,7 +747,7 @@
                {
                    Button btnFunctionCount = new Button()
                    {
                        X = Application.GetRealWidth(16) + Application.GetRealWidth(7 * functionCount.ToString().Length),
                        X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length),
                        Y = btnName.Bottom,
                        Width = Application.GetRealWidth(120),
                        Height = Application.GetRealHeight(24),
@@ -751,7 +761,7 @@
                    {
                        X = Application.GetRealWidth(16),
                        Y = btnName.Bottom,
                        Width = Application.GetRealWidth(12 * functionCount.ToString().Length),
                        Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
                        Height = Application.GetRealHeight(24),
                        TextColor = CSS_Color.MainColor,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
@@ -810,10 +820,10 @@
                };
                dispalyView.AddChidren(contentView);
                if (DB_ResidenceData.residenceData.floors.Count < 2)
                if (SpatialInfo.CurrentSpatial.FloorList.Count < 2)
                {
                }
                else if (DB_ResidenceData.residenceData.floors.Count < 3)
                else if (SpatialInfo.CurrentSpatial.FloorList.Count < 3)
                {
                    dispalyView = new FrameLayout()
                    {
@@ -828,7 +838,7 @@
                    contentView.Height = Application.GetRealHeight(45 * 3);
                    dispalyView.AddChidren(contentView);
                }
                else if (DB_ResidenceData.residenceData.floors.Count < 4)
                else if (SpatialInfo.CurrentSpatial.FloorList.Count < 4)
                {
                    dispalyView = new FrameLayout()
                    {
@@ -861,17 +871,18 @@
                }
                List<string> chooseList = new List<string>();
                chooseList.Add(Language.StringByID(StringId.All));
                foreach (var f in DB_ResidenceData.residenceData.floors)
                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.name);
                    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,
@@ -888,28 +899,28 @@
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        SelectedTextColor = CSS_Color.MainColor,
                        Text = floor,
                        Text = floor.roomName,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        IsSelected = btnFloor.Text == floor,
                        IsSelected = floor.roomId == DB_ResidenceData.Instance.ClassificationChooseFloor.roomId,
                        IsMoreLines = true,
                        Tag = floor
                    };
                    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(DB_ResidenceData.rooms);
                            roomsShowed.AddRange(SpatialInfo.CurrentSpatial.RoomList);
                        }
                        else
                        {
                            foreach (var room in DB_ResidenceData.rooms)
                            foreach (var room in SpatialInfo.CurrentSpatial.RoomList)
                            {
                                if (room.floorName == floor)
                                if (room.parentId == floor.roomId)
                                {
                                    roomsShowed.Add(room);
                                }