wei
2020-12-21 1887ea937010ff8caba39622e8246a2802ca02c5
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -71,7 +71,7 @@
        {
            bodyView = this;
            roomsShowed = new List<Room>();
            roomsShowed.AddRange(DB_ResidenceData.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>
@@ -226,7 +226,7 @@
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealWidth(192),//2020-12-01 房间图片比例改回16:9
                    Radius = (uint)Application.GetRealWidth(12),
                    Tag = room.uid,
                    Tag = room.roomId,
                };
                roomListView.AddChidren(roomView);
@@ -263,83 +263,83 @@
                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()
                {
@@ -362,12 +362,14 @@
                roomViewbgColor.MouseUpEventHandler += (sender, e) =>
                {
                    Action ReloadRoomName = () => {
                    Action ReloadRoomName = () =>
                    {
                        btnFloorAndRoomName.Text = room.floorName + room.roomName;
                    };
                    //房间删除事件
                    Action deleteAction = () => {
                    Action deleteAction = () =>
                    {
                        roomView.RemoveFromParent();
                    };
@@ -424,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;
@@ -432,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:
@@ -488,10 +490,29 @@
                if (functionCount == 0 && item != ShowFunction.Music)
                {
                    //continue;
                    continue;
                }
                functionCategoryCount++;
                //FunctionType ft = FunctionType.A31Music
                //switch (item)
                //{
                //    case FunctionType.FloorHeating:
                //        break;
                //    case FunctionType.AC:
                //        break;
                //    case FunctionType.MotorCurtain:
                //    case FunctionType.Curtain:
                //    case FunctionType.RollingShutter:
                //        break;
                //    case FunctionType.Relay:
                //    case FunctionType.Dimmer:
                //    case FunctionType.RGB:
                //    case FunctionType.ColorTemperature:
                //        break;
                //    case FunctionType.Socket:
                //        break;
                //}
                FrameLayout functionView = new FrameLayout()
                {
                    Height = Application.GetRealWidth(161),
@@ -551,8 +572,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),
@@ -568,7 +589,7 @@
                        btnLightPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnLightPower, item);
                            LoadEvent_SwitchFunction(btnLightPower, item, functionView);
                        };
                        functionPageTitleId = StringId.Lights;
                      
@@ -577,8 +598,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,7 +614,7 @@
                        functionView.AddChidren(btnAcPower);
                        btnAcPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnAcPower, item);
                            LoadEvent_SwitchFunction(btnAcPower, item, functionView);
                        };
                        functionPageTitleId = StringId.AC;
                        #endregion
@@ -601,8 +622,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()
                        {
@@ -612,8 +633,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);
@@ -626,10 +646,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
@@ -637,8 +657,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),
@@ -653,7 +673,7 @@
                        functionView.AddChidren(btnFhPower);
                        btnFhPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnFhPower, item);
                            LoadEvent_SwitchFunction(btnFhPower, item, functionView);
                        };
                        functionPageTitleId = StringId.FloorHeating;
                        #endregion
@@ -664,8 +684,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),
@@ -680,7 +700,7 @@
                        functionView.AddChidren(btnElectricPower);
                        btnElectricPower.MouseUpEventHandler = (sender, e) =>
                        {
                            LoadEvent_SwitchFunction(btnElectricPower, item);
                            LoadEvent_SwitchFunction(btnElectricPower, item, functionView);
                        };
                        functionPageTitleId = StringId.Electric;
                        #endregion
@@ -745,7 +765,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),
@@ -759,7 +779,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,
@@ -869,17 +889,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,
@@ -896,28 +917,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,
                        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(DB_ResidenceData.residenceData.Rooms);
                            roomsShowed.AddRange(SpatialInfo.CurrentSpatial.RoomList);
                        }
                        else
                        {
                            foreach (var room in DB_ResidenceData.residenceData.Rooms)
                            foreach (var room in SpatialInfo.CurrentSpatial.RoomList)
                            {
                                if (room.floorName == floor)
                                if (room.parentId == floor.uid)
                                {
                                    roomsShowed.Add(room);
                                }