wxr
2023-06-05 753e67c3705dddb8e913bd853db151f94f81d600
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePage.cs
@@ -1,4 +1,5 @@
using System;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -202,9 +203,9 @@
            };
            residenceAddressRow.AddChidren(btnResidenceAddress);
            #endregion
            #region 楼层管理
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
            #region 楼层管理
            floorManagementRow = new FrameLayout()
            {
                Height = Application.GetRealHeight(50),
@@ -274,183 +275,386 @@
            };
            roomManagementRow.AddChidren(btnRoomManagementSkinIcon);
            #endregion
            #region 管理员权限迁移
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
            administratorPermissionMigrationRow = new FrameLayout()
            //已经交付
            if (DB_ResidenceData.Instance.CurrentRegion.deliverStatus == "Delivered" || DB_ResidenceData.Instance.CurrentRegion.deliverStatus == "SECONDARY_DEBUGGIN")
            {
                Height = Application.GetRealHeight(65),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            if (DB_ResidenceData.Instance.CurrentRegion.isOtherShare == false)
            {
                //是主账号本人才能显示这个菜单
                contentView.AddChidren(administratorPermissionMigrationRow);
            }
            btnAdministratorPermissionMigrationTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(24),
                TextID = StringId.AdministratorPermissionMigration,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationTitle);
            btnAdministratorPermissionMigrationExplan = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnAdministratorPermissionMigrationTitle.Bottom,
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(21),
                TextID = StringId.AdministratorPermissionMigrationExPlan,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.PromptingColor1,
            };
            administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationExplan);
            btnAdministratorPermissionMigrationSkinIcon = new Button()
            {
                X = Application.GetRealWidth(343),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/RightIcon.png",
            };
            administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationSkinIcon);
            administratorPermissionMigrationRow.AddChidren(
                new Button()
                if (DB_ResidenceData.Instance.CurrentRegion.deliverStatus != "SECONDARY_DEBUGGIN")
                {
                    Gravity = Gravity.CenterHorizontal,
                    Y = Application.GetRealHeight(64),
                    Height = Application.GetRealHeight(1),
                    Width = Application.GetRealWidth(343),
                    BackgroundColor = CSS_Color.DividingLineColor,
                });
            #endregion
                    #region 管理员权限迁移
                    contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
                    administratorPermissionMigrationRow = new FrameLayout()
                    {
                        Height = Application.GetRealHeight(65),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    if (DB_ResidenceData.Instance.CurrentRegion.isOtherShare == false)
                    {
                        //是主账号本人才能显示这个菜单
                        contentView.AddChidren(administratorPermissionMigrationRow);
                    }
            #region 过户
            transferRow = new FrameLayout()
            {
                Y = administratorPermissionMigrationRow.Bottom,
                Height = Application.GetRealHeight(65),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            //有网关才能过户
            if (DB_ResidenceData.Instance.HomeGateway != null && string.IsNullOrEmpty(DB_ResidenceData.Instance.HomeGateway.gatewayId) == false
                && DB_ResidenceData.Instance.CurrentRegion.isOtherShare == false)
            {
                contentView.AddChidren(transferRow);
            }
                    btnAdministratorPermissionMigrationTitle = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Y = Application.GetRealHeight(10),
                        Width = Application.GetRealWidth(308),
                        Height = Application.GetRealHeight(24),
                        TextID = StringId.AdministratorPermissionMigration,
                        TextAlignment = TextAlignment.CenterLeft,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                    };
                    administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationTitle);
            btnTransferTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(24),
                TextID = StringId.Transfer,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            transferRow.AddChidren(btnTransferTitle);
            btnTrasferExplan = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnTransferTitle.Bottom,
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(21),
                TextID = StringId.TransferExPlan,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.PromptingColor1,
            };
            transferRow.AddChidren(btnTrasferExplan);
            btnTrasferSkinIcon = new Button()
            {
                X = Application.GetRealWidth(343),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/RightIcon.png",
            };
            transferRow.AddChidren(btnTrasferSkinIcon);
            #endregion
            #region 调试权限
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
            FrameLayout commissioningAuthorityRow;
            commissioningAuthorityRow = new FrameLayout()
            {
                Height = Application.GetRealHeight(65),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            contentView.AddChidren(commissioningAuthorityRow);
                    btnAdministratorPermissionMigrationExplan = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Y = btnAdministratorPermissionMigrationTitle.Bottom,
                        Width = Application.GetRealWidth(308),
                        Height = Application.GetRealHeight(21),
                        TextID = StringId.AdministratorPermissionMigrationExPlan,
                        TextAlignment = TextAlignment.CenterLeft,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        TextColor = CSS_Color.PromptingColor1,
                    };
                    administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationExplan);
            var btnCommissioningAuthorityTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(24),
                TextID = StringId.CommissioningAuthority,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            commissioningAuthorityRow.AddChidren(btnCommissioningAuthorityTitle);
                    btnAdministratorPermissionMigrationSkinIcon = new Button()
                    {
                        X = Application.GetRealWidth(343),
                        Gravity = Gravity.CenterVertical,
                        Width = Application.GetMinRealAverage(16),
                        Height = Application.GetMinRealAverage(16),
                        UnSelectedImagePath = "Public/RightIcon.png",
                    };
                    administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationSkinIcon);
            var btnCommissioningAuthorityExplan = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnCommissioningAuthorityTitle.Bottom,
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(21),
                TextID = StringId.CommissioningAuthorityExPlan,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.PromptingColor1,
            };
            commissioningAuthorityRow.AddChidren(btnCommissioningAuthorityExplan);
                    administratorPermissionMigrationRow.AddChidren(
                        new Button()
                        {
                            Gravity = Gravity.CenterHorizontal,
                            Y = Application.GetRealHeight(64),
                            Height = Application.GetRealHeight(1),
                            Width = Application.GetRealWidth(343),
                            BackgroundColor = CSS_Color.DividingLineColor,
                        });
                    #endregion
            btnCommissioningAuthoritySwitchIcon = new Button()
            {
                X = Application.GetRealWidth(314),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(48),
                Height = Application.GetMinRealAverage(36),
                UnSelectedImagePath = "Public/Switch.png",
                SelectedImagePath = "Public/SwitchOn.png",
                IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm
            };
            commissioningAuthorityRow.AddChidren(btnCommissioningAuthoritySwitchIcon);
                    #region 过户
                    transferRow = new FrameLayout()
                    {
                        Y = administratorPermissionMigrationRow.Bottom,
                        Height = Application.GetRealHeight(65),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    //有网关才能过户
                    if (DB_ResidenceData.Instance.HomeGateway != null && string.IsNullOrEmpty(DB_ResidenceData.Instance.HomeGateway.gatewayId) == false
                        && DB_ResidenceData.Instance.CurrentRegion.isOtherShare == false)
                    {
                        contentView.AddChidren(transferRow);
                    }
            btnCommissioningAuthoritySwitchIcon.MouseUpEventHandler = (sender, e) =>
            {
                DB_ResidenceData.Instance.CurrentRegion.debugPerm = !DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                btnCommissioningAuthoritySwitchIcon.IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                new System.Threading.Thread(() =>
                    btnTransferTitle = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Y = Application.GetRealHeight(10),
                        Width = Application.GetRealWidth(308),
                        Height = Application.GetRealHeight(24),
                        TextID = StringId.Transfer,
                        TextAlignment = TextAlignment.CenterLeft,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                    };
                    transferRow.AddChidren(btnTransferTitle);
                    btnTrasferExplan = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Y = btnTransferTitle.Bottom,
                        Width = Application.GetRealWidth(308),
                        Height = Application.GetRealHeight(21),
                        TextID = StringId.TransferExPlan,
                        TextAlignment = TextAlignment.CenterLeft,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        TextColor = CSS_Color.PromptingColor1,
                    };
                    transferRow.AddChidren(btnTrasferExplan);
                    btnTrasferSkinIcon = new Button()
                    {
                        X = Application.GetRealWidth(343),
                        Gravity = Gravity.CenterVertical,
                        Width = Application.GetMinRealAverage(16),
                        Height = Application.GetMinRealAverage(16),
                        UnSelectedImagePath = "Public/RightIcon.png",
                    };
                    transferRow.AddChidren(btnTrasferSkinIcon);
                    #endregion
                    LoadEvent_SkipAdminMigrationConfirmPage();
                    LoadEvent_SkipTransferConfirmPage();
                    var btnRollBack = new Button()
                    {
                        Y = Application.GetRealHeight(623),
                        Height = Application.GetRealHeight(50),
                        TextAlignment = TextAlignment.Center,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextColor = CSS_Color.AuxiliaryColor2,
                        TextID = StringId.RollBack,
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                    };
                    bodyView.AddChidren(btnRollBack);
                    if (MainPage.Increase)
                    {
                        btnRollBack.Y = Application.GetRealHeight(613);
                        btnRollBack.Height = Application.GetRealHeight(50);
                        bodyView.AddChidren(new Button() { Y = Application.GetRealHeight(663), Height = Application.GetRealHeight(20), BackgroundColor = CSS_Color.MainBackgroundColor });
                    }
                    btnRollBack.MouseUpEventHandler += (sender, e) =>
                    {
                        Action okAction = () =>
                        {
                            var waitPage = new Loading();
                            this.AddChidren(waitPage);
                            waitPage.Start("");
                            new System.Threading.Thread(() => {
                                try
                                {
                                    var pack = Common.ApiUtlis.Ins.HttpRequest.RollBack();
                                    Application.RunOnMainThread(() =>
                                    {
                                        if (pack != null)
                                        {
                                            if (pack.Code == StateCode.SUCCESS)
                                            {
                                                new PublicAssmebly().TipMsg(StringId.Tip, StringId.SuccessfullyUnboundTheResidence, () =>
                                                {
                                                    Common.ApiUtlis.Ins.HttpRequest.GetHomePager();
                                                });
                                            }
                                            else
                                            {
                                                IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
                                            }
                                        }
                                    });
                                }
                                catch (Exception ex)
                                {
                                    MainPage.Log($"住宅回滚异常:{ex.Message}");
                                }
                                finally
                                {
                                    Application.RunOnMainThread(() =>
                                    {
                                        try
                                        {
                                            waitPage.Hide();
                                            waitPage.RemoveFromParent();
                                            waitPage = null;
                                        }
                                        catch { }
                                    });
                                }
                            })
                            { IsBackground = true }.Start();
                        };
                        new ConfirmDialog().ShowDialog(StringId.Tip, StringId.RollBackTipMsg, okAction);
                    };
                }
                #region 调试权限
                contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
                FrameLayout commissioningAuthorityRow;
                commissioningAuthorityRow = new FrameLayout()
                {
                    new DAL.Server.HttpServerRequest().ChangeResidenceDebugPerm(DB_ResidenceData.Instance.CurrentRegion.debugPerm);
                })
                { IsBackground = true }.Start();
            };
            #endregion
                    Height = Application.GetRealHeight(65),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(commissioningAuthorityRow);
                var btnCommissioningAuthorityTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(10),
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(24),
                    TextID = StringId.CommissioningAuthority,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                };
                commissioningAuthorityRow.AddChidren(btnCommissioningAuthorityTitle);
                var btnCommissioningAuthorityExplan = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnCommissioningAuthorityTitle.Bottom,
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(21),
                    TextID = StringId.CommissioningAuthorityExPlan,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.PromptingColor1,
                };
                commissioningAuthorityRow.AddChidren(btnCommissioningAuthorityExplan);
                btnCommissioningAuthoritySwitchIcon = new Button()
                {
                    X = Application.GetRealWidth(314),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(48),
                    Height = Application.GetMinRealAverage(36),
                    UnSelectedImagePath = "Public/Switch.png",
                    SelectedImagePath = "Public/SwitchOn.png",
                    IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm
                };
                commissioningAuthorityRow.AddChidren(btnCommissioningAuthoritySwitchIcon);
                btnCommissioningAuthoritySwitchIcon.MouseUpEventHandler = (sender, e) =>
                {
                    DB_ResidenceData.Instance.CurrentRegion.debugPerm = !DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                    btnCommissioningAuthoritySwitchIcon.IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                    var waitPage = new Loading();
                    bodyView.AddChidren(waitPage);
                    waitPage.Start("");
                    new System.Threading.Thread(() =>
                    {
                        try
                        {
                            var pack = new DAL.Server.HttpServerRequest().ChangeResidenceDebugPerm(DB_ResidenceData.Instance.CurrentRegion.debugPerm);
                            if (pack != null)
                            {
                                if (pack.Code == DAL.Server.StateCode.SUCCESS)
                                {
                                    DB_ResidenceData.Instance.CurrentRegion.debugStatus = DB_ResidenceData.Instance.CurrentRegion.debugPerm ? "SECONDARY_DEBUGGIN" : "Delivered";
                                    Application.RunOnMainThread(() =>
                                    {
                                        bodyView.RemoveAll();
                                        LoadPage();
                                    });
                                }
                            }
                        }catch(Exception ex)
                        {
                            Application.RunOnMainThread(() => {
                                waitPage.Hide();
                            });
                        }
                    })
                    { IsBackground = true }.Start();
                };
                #endregion
            }
            //调试完成  才能加载二维码
            else if (DB_ResidenceData.Instance.CurrentRegion.deliverStatus == "WAIT_DELIVERED")
            {
                #region 交付二维码
                contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
                var deliveryQRcodeRow = new FrameLayout()
                {
                    Height = Application.GetRealHeight(50),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(deliveryQRcodeRow);
                var btnDeliveryQRcodeTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(308),
                    TextID = StringId.ResidentialDelivery,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                };
                deliveryQRcodeRow.AddChidren(btnDeliveryQRcodeTitle);
                var btnDeliveryQRcodeRightIcon = new Button()
                {
                    X = Application.GetRealWidth(343),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                deliveryQRcodeRow.AddChidren(btnDeliveryQRcodeRightIcon);
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    var skipPage = new DeliveryQrCodePage();
                    MainPage.BasePageView.AddChidren(skipPage);
                    skipPage.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                deliveryQRcodeRow.MouseUpEventHandler = eventHandler;
                btnDeliveryQRcodeTitle.MouseUpEventHandler = eventHandler;
                btnDeliveryQRcodeRightIcon.MouseUpEventHandler = eventHandler;
                #endregion
            }
            else
            {
                #region 房屋状态提示
                contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
                var houseStatusTipRow = new FrameLayout()
                {
                    Height = Application.GetRealHeight(50),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(houseStatusTipRow);
                var btnHouseStatusTipTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(308),
                    TextID = StringId.HouseStatus,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                };
                houseStatusTipRow.AddChidren(btnHouseStatusTipTitle);
                switch (DB_ResidenceData.Instance.CurrentRegion.deliverStatus)
                {
                    case "To_Be_Debugged"://待调试
                        btnHouseStatusTipTitle.Text += " : "+ Language.StringByID(StringId.To_Be_Debugged);
                        break;
                    case "Debugging"://调试中
                        btnHouseStatusTipTitle.Text += " : " + Language.StringByID(StringId.Debugging);
                        break;
                    case "INITIAL_TATE"://初始态
                        btnHouseStatusTipTitle.Text += " : " + Language.StringByID(StringId.INITIAL_TATE);
                        break;
                    case "ACCEPTANCE"://验收
                        btnHouseStatusTipTitle.Text += " : " + Language.StringByID(StringId.ACCEPTANCE);
                        break;
                    case "To_Be_Accepted"://待验收
                        btnHouseStatusTipTitle.Text += " : " + Language.StringByID(StringId.To_Be_Accepted);
                        break;
                    default:
                        btnHouseStatusTipTitle.Text += " : " + Language.StringByID(StringId.INITIAL_TATE);
                        break;
                }
                #endregion
            }
            LoadEventList();
        }
    }