wxr
2023-11-23 90d4fdb42a7f4818897ff76def0a151a99d2d9e1
HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
@@ -1,678 +1,678 @@
#if __Android__
//#if __Android__
using System;
using HDL_ON.UI.CSS;
using Shared;
using HDL_ON.DAL.Server;
using System.Collections.Generic;
using Com.Hdl.Hdllinphonesdk.Utils;
using Com.Hdl.Hdllinphonesdk.Dialog;
//using System;
//using HDL_ON.UI.CSS;
//using Shared;
//using HDL_ON.DAL.Server;
//using System.Collections.Generic;
//using Com.Hdl.Hdllinphonesdk.Utils;
//using Com.Hdl.Hdllinphonesdk.Dialog;
namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
{
    public class VisitorQRCodePage : FrameLayout
    {
        FrameLayout bodyView;
        VerticalScrolViewLayout bodyScrolView;
        private EditText phoneNumberEditText;// 电话号码EditText
        private EditText pwdEditText;// 密码EditText
        private Button randomBtn;//随机密码Btn
        private FrameLayout codeLayout;
        private ImageView codeIV;// 二维码
        private Button codeSaveTipBtn;
        private Button codeTip;//二维码有效期提示
        private Button visitorVoucherBtn;
        private VisitorTempPassword tempPassword;
//namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
//{
//    public class VisitorQRCodePage : FrameLayout
//    {
//        FrameLayout bodyView;
//        VerticalScrolViewLayout bodyScrolView;
//        private EditText phoneNumberEditText;// 电话号码EditText
//        private EditText pwdEditText;// 密码EditText
//        private Button randomBtn;//随机密码Btn
//        private FrameLayout codeLayout;
//        private ImageView codeIV;// 二维码
//        private Button codeSaveTipBtn;
//        private Button codeTip;//二维码有效期提示
//        private Button visitorVoucherBtn;
//        private VisitorTempPassword tempPassword;
        Action backAction;// 后退按键,刷新UI
//        Action backAction;// 后退按键,刷新UI
        public VisitorQRCodePage()
        {
            bodyView = this;
        }
//        public VisitorQRCodePage()
//        {
//            bodyView = this;
//        }
        public VisitorQRCodePage(Action action,VisitorTempPassword pwd)
        {
            bodyView = this;
            this.tempPassword = pwd;
            backAction = action;
        }
//        public VisitorQRCodePage(Action action,VisitorTempPassword pwd)
//        {
//            bodyView = this;
//            this.tempPassword = pwd;
//            backAction = action;
//        }
        public override void RemoveFromParent()
        {
            this.tempPassword = null;
            backAction?.Invoke();
            base.RemoveFromParent();
        }
//        public override void RemoveFromParent()
//        {
//            this.tempPassword = null;
//            backAction?.Invoke();
//            base.RemoveFromParent();
//        }
        public void LoadPage()
        {
#region 顶部导航栏
            if (tempPassword == null || tempPassword.id == null)
            {
                tempPassword = new VisitorTempPassword();
//        public void LoadPage()
//        {
//#region 顶部导航栏
//            if (tempPassword == null || tempPassword.id == null)
//            {
//                tempPassword = new VisitorTempPassword();
                Action click = () =>
                {
                    Action action = () =>
                    {
                        LoadPage();
                    };
                    VisitorHistoryPage page = new VisitorHistoryPage(action);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
//                Action click = () =>
//                {
//                    Action action = () =>
//                    {
//                        LoadPage();
//                    };
//                    VisitorHistoryPage page = new VisitorHistoryPage(action);
//                    MainPage.BasePageView.AddChidren(page);
//                    page.LoadPage();
//                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
//                };
                bodyView.BackgroundColor = CSS_Color.BackgroundColor;
                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation))
                    .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord));
            }
            else
            {
                bodyView.BackgroundColor = CSS_Color.BackgroundColor;
                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)).LoadTopView();
            }
#endregion
//                bodyView.BackgroundColor = CSS_Color.BackgroundColor;
//                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation))
//                    .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord));
//            }
//            else
//            {
//                bodyView.BackgroundColor = CSS_Color.BackgroundColor;
//                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)).LoadTopView();
//            }
//#endregion
            bodyScrolView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(64),
                VerticalScrollBarEnabled = false,
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            bodyView.AddChidren(bodyScrolView);
//            bodyScrolView = new VerticalScrolViewLayout()
//            {
//                Y = Application.GetRealHeight(64),
//                VerticalScrollBarEnabled = false,
//                BackgroundColor = CSS_Color.MainBackgroundColor,
//            };
//            bodyView.AddChidren(bodyScrolView);
            // 提示文字
            bodyScrolView.AddChidren(new Button()
            {
                Text = Language.StringByID(StringId.VisitorTip),
                IsMoreLines = true,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.PromptingColor1,
                TextAlignment = TextAlignment.Center,
                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
                Height = Application.GetRealHeight(60),
            });
//            // 提示文字
//            bodyScrolView.AddChidren(new Button()
//            {
//                Text = Language.StringByID(StringId.VisitorTip),
//                IsMoreLines = true,
//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
//                TextColor = CSS_Color.PromptingColor1,
//                TextAlignment = TextAlignment.Center,
//                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
//                Height = Application.GetRealHeight(60),
//            });
#region 手机号
            bodyScrolView.AddChidren(new Button()
            {
                Text = Language.StringByID(StringId.PhoneNumber),
                Y = Application.GetRealWidth(10),
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Height = Application.GetRealHeight(20),
                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
                TextAlignment = TextAlignment.CenterLeft,
            });
//#region 手机号
//            bodyScrolView.AddChidren(new Button()
//            {
//                Text = Language.StringByID(StringId.PhoneNumber),
//                Y = Application.GetRealWidth(10),
//                TextSize = CSS_FontSize.SubheadingFontSize,
//                TextColor = CSS_Color.FirstLevelTitleColor,
//                Height = Application.GetRealHeight(20),
//                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
//                TextAlignment = TextAlignment.CenterLeft,
//            });
            phoneNumberEditText = new EditText()
            {
                Height = Application.GetRealHeight(45),
                X = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(335),
                TextSize = CSS_FontSize.TextFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
//            phoneNumberEditText = new EditText()
//            {
//                Height = Application.GetRealHeight(45),
//                X = Application.GetRealWidth(20),
//                Width = Application.GetRealWidth(335),
//                TextSize = CSS_FontSize.TextFontSize,
//                TextColor = CSS_Color.FirstLevelTitleColor,
                PlaceholderText = Language.StringByID(StringId.InputPhoneNumberOfTheVisitor),
                Text = tempPassword.phone,
                IsNumberKeyboardType = true,
                PlaceholderTextColor = CSS_Color.PromptingColor1,
            };
            bodyScrolView.AddChidren(phoneNumberEditText);
            //phoneNumberEditText.Foucs = true;
//                PlaceholderText = Language.StringByID(StringId.InputPhoneNumberOfTheVisitor),
//                Text = tempPassword.phone,
//                IsNumberKeyboardType = true,
//                PlaceholderTextColor = CSS_Color.PromptingColor1,
//            };
//            bodyScrolView.AddChidren(phoneNumberEditText);
//            //phoneNumberEditText.Foucs = true;
            // 分割线
            bodyScrolView.AddChidren(new Button()
            {
                X = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(335),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            });
#endregion
//            // 分割线
//            bodyScrolView.AddChidren(new Button()
//            {
//                X = Application.GetRealWidth(20),
//                Width = Application.GetRealWidth(335),
//                Height = Application.GetRealHeight(1),
//                BackgroundColor = CSS_Color.DividingLineColor,
//            });
//#endregion
#region 动态密码
            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(10), });
            bodyScrolView.AddChidren(new Button()
            {
                Text = Language.StringByID(StringId.linshimima),
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Height = Application.GetRealHeight(20),
                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
                TextAlignment = TextAlignment.CenterLeft,
            });
//#region 动态密码
//            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(10), });
//            bodyScrolView.AddChidren(new Button()
//            {
//                Text = Language.StringByID(StringId.linshimima),
//                TextSize = CSS_FontSize.SubheadingFontSize,
//                TextColor = CSS_Color.FirstLevelTitleColor,
//                Height = Application.GetRealHeight(20),
//                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
//                TextAlignment = TextAlignment.CenterLeft,
//            });
            FrameLayout pwdLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(40),
            };
//            FrameLayout pwdLayout = new FrameLayout()
//            {
//                Height = Application.GetRealHeight(40),
//            };
            // 密码输入框
            pwdEditText = new EditText()
            {
                X = Application.GetRealWidth(20),
                TextSize = CSS_FontSize.TextFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Width = Application.GetRealWidth(335),
                PlaceholderText = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
                IsNumberKeyboardType = true,
                PlaceholderTextColor = CSS_Color.PromptingColor1,
            };
            pwdLayout.AddChidren(pwdEditText);
//            // 密码输入框
//            pwdEditText = new EditText()
//            {
//                X = Application.GetRealWidth(20),
//                TextSize = CSS_FontSize.TextFontSize,
//                TextColor = CSS_Color.FirstLevelTitleColor,
//                Width = Application.GetRealWidth(335),
//                PlaceholderText = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
//                IsNumberKeyboardType = true,
//                PlaceholderTextColor = CSS_Color.PromptingColor1,
//            };
//            pwdLayout.AddChidren(pwdEditText);
            //随机密码Btn
            randomBtn = new Button()
            {
                X = Application.GetRealWidth(275),
                Width = Application.GetRealWidth(80),
                Text = Language.StringByID(StringId.RandomGeneration),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.TextFontSize,
            };
            pwdLayout.AddChidren(randomBtn);
            bodyScrolView.AddChidren(pwdLayout);
//            //随机密码Btn
//            randomBtn = new Button()
//            {
//                X = Application.GetRealWidth(275),
//                Width = Application.GetRealWidth(80),
//                Text = Language.StringByID(StringId.RandomGeneration),
//                TextAlignment = TextAlignment.CenterRight,
//                TextColor = CSS_Color.MainColor,
//                TextSize = CSS_FontSize.TextFontSize,
//            };
//            pwdLayout.AddChidren(randomBtn);
//            bodyScrolView.AddChidren(pwdLayout);
            // 分割线
            bodyScrolView.AddChidren(new Button()
            {
                X = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(335),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            });
#endregion
//            // 分割线
//            bodyScrolView.AddChidren(new Button()
//            {
//                X = Application.GetRealWidth(20),
//                Width = Application.GetRealWidth(335),
//                Height = Application.GetRealHeight(1),
//                BackgroundColor = CSS_Color.DividingLineColor,
//            });
//#endregion
#region 二维码生效时间
            FrameLayout startLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(40),
                Y = Application.GetRealWidth(10),
            };
//#region 二维码生效时间
//            FrameLayout startLayout = new FrameLayout()
//            {
//                Height = Application.GetRealHeight(40),
//                Y = Application.GetRealWidth(10),
//            };
            startLayout.AddChidren(new Button()
            {
                Text = Language.StringByID(StringId.EffectiveTime),
                X = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(130),
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.CenterLeft,
                Enable = false,
            });
            Button startTimeText = new Button()
            {
                X = Application.GetRealWidth(159),
                Width = Application.GetRealWidth(150),
                TextAlignment = TextAlignment.CenterRight,
                TextSize = CSS_FontSize.TextFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            if (tempPassword.tempPwd == null || tempPassword.tempPwd == "")
            {
                startTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            }
            else
            {
                startTimeText.Text = tempPassword.validBeginTime;
            }
//            startLayout.AddChidren(new Button()
//            {
//                Text = Language.StringByID(StringId.EffectiveTime),
//                X = Application.GetRealWidth(20),
//                Width = Application.GetRealWidth(130),
//                TextSize = CSS_FontSize.SubheadingFontSize,
//                TextColor = CSS_Color.FirstLevelTitleColor,
//                TextAlignment = TextAlignment.CenterLeft,
//                Enable = false,
//            });
//            Button startTimeText = new Button()
//            {
//                X = Application.GetRealWidth(159),
//                Width = Application.GetRealWidth(150),
//                TextAlignment = TextAlignment.CenterRight,
//                TextSize = CSS_FontSize.TextFontSize,
//                TextColor = CSS_Color.FirstLevelTitleColor,
//            };
//            if (tempPassword.tempPwd == null || tempPassword.tempPwd == "")
//            {
//                startTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//            }
//            else
//            {
//                startTimeText.Text = tempPassword.validBeginTime;
//            }
            startLayout.AddChidren(startTimeText);
            startLayout.AddChidren(new Button()
            {
                X = Application.GetRealWidth(339),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
                Enable = false,
            });
            Button startTimeBtn = new Button();
            startLayout.AddChidren(startTimeBtn);
            // dialog回调
            Action<string> startTimeAction = (str) =>
            {
                startTimeText.Text = str + ":00";
            };
            startTimeBtn.MouseUpEventHandler += (sender, e) =>
            {
                try
                {
                    new LpTimeDialog(Application.Activity, new LpTimeDialogCallBak(startTimeAction)).Show();
                }
                catch (Exception ex)
                {
                    string error = ex.Message;
                }
            };
            bodyScrolView.AddChidren(startLayout);
            // 分割线
            bodyScrolView.AddChidren(new Button()
            {
                X = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(335),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            });
//            startLayout.AddChidren(startTimeText);
//            startLayout.AddChidren(new Button()
//            {
//                X = Application.GetRealWidth(339),
//                Gravity = Gravity.CenterVertical,
//                Width = Application.GetMinRealAverage(16),
//                Height = Application.GetMinRealAverage(16),
//                UnSelectedImagePath = "Public/Right.png",
//                Enable = false,
//            });
//            Button startTimeBtn = new Button();
//            startLayout.AddChidren(startTimeBtn);
//            // dialog回调
//            Action<string> startTimeAction = (str) =>
//            {
//                startTimeText.Text = str + ":00";
//            };
//            startTimeBtn.MouseUpEventHandler += (sender, e) =>
//            {
//                try
//                {
//                    new LpTimeDialog(Application.Activity, new LpTimeDialogCallBak(startTimeAction)).Show();
//                }
//                catch (Exception ex)
//                {
//                    string error = ex.Message;
//                }
//            };
//            bodyScrolView.AddChidren(startLayout);
//            // 分割线
//            bodyScrolView.AddChidren(new Button()
//            {
//                X = Application.GetRealWidth(20),
//                Width = Application.GetRealWidth(335),
//                Height = Application.GetRealHeight(1),
//                BackgroundColor = CSS_Color.DividingLineColor,
//            });
#endregion
//#endregion
#region 二维码失效时间
            FrameLayout endLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(40),
                Y = Application.GetRealWidth(10),
            };
//#region 二维码失效时间
//            FrameLayout endLayout = new FrameLayout()
//            {
//                Height = Application.GetRealHeight(40),
//                Y = Application.GetRealWidth(10),
//            };
            endLayout.AddChidren(new Button()
            {
                Text = Language.StringByID(StringId.FailureTime),
                X = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(130),
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.CenterLeft,
                Enable = false,
            });
            Button endTimeText = new Button()
            {
                X = Application.GetRealWidth(159),
                Width = Application.GetRealWidth(150),
                TextAlignment = TextAlignment.CenterRight,
                TextSize = CSS_FontSize.TextFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Enable = false,
            };
            if (tempPassword.tempPwd == null || tempPassword.tempPwd == "")
            {
                endTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            }
            else
            {
                endTimeText.Text = tempPassword.validEndTime;
            }
            endLayout.AddChidren(endTimeText);
            endLayout.AddChidren(new Button()
            {
                X = Application.GetRealWidth(339),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
                Enable = false,
            });
            Button endTimeBtn = new Button();
            endLayout.AddChidren(endTimeBtn);
            bodyScrolView.AddChidren(endLayout);
            // 分割线
            bodyScrolView.AddChidren(new Button()
            {
                X = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(335),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            });
            // dialog回调
            Action<string> endTimeAction = (str) =>
            {
                endTimeText.Text = str + ":00";
            };
            endTimeBtn.MouseUpEventHandler += (sender, e) =>
            {
                try
                {
                    new LpTimeDialog(Application.Activity, new LpTimeDialogCallBak(endTimeAction)).Show();
                }
                catch (Exception ex)
                {
                    string error = ex.Message;
                }
            };
#endregion
//            endLayout.AddChidren(new Button()
//            {
//                Text = Language.StringByID(StringId.FailureTime),
//                X = Application.GetRealWidth(20),
//                Width = Application.GetRealWidth(130),
//                TextSize = CSS_FontSize.SubheadingFontSize,
//                TextColor = CSS_Color.FirstLevelTitleColor,
//                TextAlignment = TextAlignment.CenterLeft,
//                Enable = false,
//            });
//            Button endTimeText = new Button()
//            {
//                X = Application.GetRealWidth(159),
//                Width = Application.GetRealWidth(150),
//                TextAlignment = TextAlignment.CenterRight,
//                TextSize = CSS_FontSize.TextFontSize,
//                TextColor = CSS_Color.FirstLevelTitleColor,
//                Enable = false,
//            };
//            if (tempPassword.tempPwd == null || tempPassword.tempPwd == "")
//            {
//                endTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//            }
//            else
//            {
//                endTimeText.Text = tempPassword.validEndTime;
//            }
//            endLayout.AddChidren(endTimeText);
//            endLayout.AddChidren(new Button()
//            {
//                X = Application.GetRealWidth(339),
//                Gravity = Gravity.CenterVertical,
//                Width = Application.GetMinRealAverage(16),
//                Height = Application.GetMinRealAverage(16),
//                UnSelectedImagePath = "Public/Right.png",
//                Enable = false,
//            });
//            Button endTimeBtn = new Button();
//            endLayout.AddChidren(endTimeBtn);
//            bodyScrolView.AddChidren(endLayout);
//            // 分割线
//            bodyScrolView.AddChidren(new Button()
//            {
//                X = Application.GetRealWidth(20),
//                Width = Application.GetRealWidth(335),
//                Height = Application.GetRealHeight(1),
//                BackgroundColor = CSS_Color.DividingLineColor,
//            });
//            // dialog回调
//            Action<string> endTimeAction = (str) =>
//            {
//                endTimeText.Text = str + ":00";
//            };
//            endTimeBtn.MouseUpEventHandler += (sender, e) =>
//            {
//                try
//                {
//                    new LpTimeDialog(Application.Activity, new LpTimeDialogCallBak(endTimeAction)).Show();
//                }
//                catch (Exception ex)
//                {
//                    string error = ex.Message;
//                }
//            };
//#endregion
#region 二维码
            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(33), });
            codeLayout = new FrameLayout()
            {
                X = Application.GetRealWidth(117),
                Width = Application.GetRealWidth(142),
                Height = Application.GetRealWidth(142),
            };
            bodyScrolView.AddChidren(codeLayout);
//#region 二维码
//            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(33), });
//            codeLayout = new FrameLayout()
//            {
//                X = Application.GetRealWidth(117),
//                Width = Application.GetRealWidth(142),
//                Height = Application.GetRealWidth(142),
//            };
//            bodyScrolView.AddChidren(codeLayout);
            // 二维码ImagView
            codeIV = new ImageView()
            {
                BackgroundColor = CSS_Color.BackgroundColor,
            };
            codeLayout.AddChidren(codeIV);
//            // 二维码ImagView
//            codeIV = new ImageView()
//            {
//                BackgroundColor = CSS_Color.BackgroundColor,
//            };
//            codeLayout.AddChidren(codeIV);
            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(20), });
            codeSaveTipBtn = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealWidth(20),
                Text = Language.StringByID(StringId.LongPressQRCodeSave),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Visible = false,
            };
            bodyScrolView.AddChidren(codeSaveTipBtn);
#endregion
//            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(20), });
//            codeSaveTipBtn = new Button()
//            {
//                X = Application.GetRealWidth(16),
//                Width = Application.GetRealWidth(343),
//                Height = Application.GetRealWidth(20),
//                Text = Language.StringByID(StringId.LongPressQRCodeSave),
//                TextAlignment = TextAlignment.Center,
//                TextColor = CSS_Color.FirstLevelTitleColor,
//                Visible = false,
//            };
//            bodyScrolView.AddChidren(codeSaveTipBtn);
//#endregion
            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(28), });
            visitorVoucherBtn = new Button()
            {
                X = Application.GetRealWidth(78),
                Width = Application.GetRealWidth(220),
                Height = Application.GetRealWidth(44),
                BackgroundColor = CSS_Color.MainColor,
                Radius = (uint)Application.GetRealWidth(44),
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.textWhiteColor,
            };
            bodyScrolView.AddChidren(visitorVoucherBtn);
//            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(28), });
//            visitorVoucherBtn = new Button()
//            {
//                X = Application.GetRealWidth(78),
//                Width = Application.GetRealWidth(220),
//                Height = Application.GetRealWidth(44),
//                BackgroundColor = CSS_Color.MainColor,
//                Radius = (uint)Application.GetRealWidth(44),
//                TextSize = CSS_FontSize.SubheadingFontSize,
//                TextAlignment = TextAlignment.Center,
//                TextColor = CSS_Color.textWhiteColor,
//            };
//            bodyScrolView.AddChidren(visitorVoucherBtn);
            Action voucher_action = () =>
            {
                if (codeIV.ImageBytes == null)
                {
                    // 请求服务端,生成临时密码
                    tempPassword.homeId = Entity.DB_ResidenceData.Instance.CurrentRegion.id;
                    tempPassword.phone = phoneNumberEditText.Text;
                    tempPassword.tempPwd = pwdEditText.Text;
                    tempPassword.validBeginTime = startTimeText.Text;
                    tempPassword.validEndTime = endTimeText.Text;
                    tempPassword.useCount = 1000;
                    CreateVisitorPassword(tempPassword);
                }
                else
                {
                    // 删除访客临时密码
                    DelVisitorPassword(tempPassword);
                }
            };
            visitorVoucherBtn.MouseUpEventHandler += (sender, e) =>
            {
                if (startTimeText.Text.Trim() == "")
                {
                    var tip_dialog = new Tip()
                    {
                        Text = Language.StringByID(StringId.VisitorStartTime),
                        CloseTime = 2,
                        Direction = AMPopTipDirection.None
                    };
                    tip_dialog.Show(MainPage.BaseView);
                    return;
                }
//            Action voucher_action = () =>
//            {
//                if (codeIV.ImageBytes == null)
//                {
//                    // 请求服务端,生成临时密码
//                    tempPassword.homeId = Entity.DB_ResidenceData.Instance.CurrentRegion.id;
//                    tempPassword.phone = phoneNumberEditText.Text;
//                    tempPassword.tempPwd = pwdEditText.Text;
//                    tempPassword.validBeginTime = startTimeText.Text;
//                    tempPassword.validEndTime = endTimeText.Text;
//                    tempPassword.useCount = 1000;
//                    CreateVisitorPassword(tempPassword);
//                }
//                else
//                {
//                    // 删除访客临时密码
//                    DelVisitorPassword(tempPassword);
//                }
//            };
//            visitorVoucherBtn.MouseUpEventHandler += (sender, e) =>
//            {
//                if (startTimeText.Text.Trim() == "")
//                {
//                    var tip_dialog = new Tip()
//                    {
//                        Text = Language.StringByID(StringId.VisitorStartTime),
//                        CloseTime = 2,
//                        Direction = AMPopTipDirection.None
//                    };
//                    tip_dialog.Show(MainPage.BaseView);
//                    return;
//                }
                if (endTimeText.Text.Trim() == "")
                {
                    var tip_dialog = new Tip()
                    {
                        Text = Language.StringByID(StringId.VisitorEndTime),
                        CloseTime = 2,
                        Direction = AMPopTipDirection.None
                    };
                    tip_dialog.Show(MainPage.BaseView);
                    return;
                }
//                if (endTimeText.Text.Trim() == "")
//                {
//                    var tip_dialog = new Tip()
//                    {
//                        Text = Language.StringByID(StringId.VisitorEndTime),
//                        CloseTime = 2,
//                        Direction = AMPopTipDirection.None
//                    };
//                    tip_dialog.Show(MainPage.BaseView);
//                    return;
//                }
                if (phoneNumberEditText.Text.Trim() == "" || phoneNumberEditText.Text.Trim().Length != 11)
                {
                    var tip_dialog = new Tip()
                    {
                        Text = Language.StringByID(StringId.PhoneNumberErrorTip),
                        CloseTime = 2,
                        Direction = AMPopTipDirection.None
                    };
                    tip_dialog.Show(MainPage.BaseView);
                    phoneNumberEditText.Foucs = true;
                    return;
                }
//                if (phoneNumberEditText.Text.Trim() == "" || phoneNumberEditText.Text.Trim().Length != 11)
//                {
//                    var tip_dialog = new Tip()
//                    {
//                        Text = Language.StringByID(StringId.PhoneNumberErrorTip),
//                        CloseTime = 2,
//                        Direction = AMPopTipDirection.None
//                    };
//                    tip_dialog.Show(MainPage.BaseView);
//                    phoneNumberEditText.Foucs = true;
//                    return;
//                }
                if (pwdEditText.Text.Trim() == "" || pwdEditText.Text.Trim().Length != 6)
                {
                    var tip_dialog = new Tip()
                    {
                        Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
                        CloseTime = 2,
                        Direction = AMPopTipDirection.None
                    };
                    tip_dialog.Show(MainPage.BaseView);
                    pwdEditText.Foucs = true;
                    return;
                }
//                if (pwdEditText.Text.Trim() == "" || pwdEditText.Text.Trim().Length != 6)
//                {
//                    var tip_dialog = new Tip()
//                    {
//                        Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
//                        CloseTime = 2,
//                        Direction = AMPopTipDirection.None
//                    };
//                    tip_dialog.Show(MainPage.BaseView);
//                    pwdEditText.Foucs = true;
//                    return;
//                }
                string tip = "";
                string message = "";
                if (codeIV.ImageBytes == null)
                {
                    tip = Language.StringByID(StringId.tip);
                    message = Language.StringByID(StringId.VisitorTipContent);
                }
                else
                {
                    tip = Language.StringByID(StringId.tip);
                    message = Language.StringByID(StringId.VisitorDelTipContent);
                }
                new LpTipDialog(Application.Activity, tip, message, new LpTipDialogCallBack(voucher_action)).Show();
            };
//                string tip = "";
//                string message = "";
//                if (codeIV.ImageBytes == null)
//                {
//                    tip = Language.StringByID(StringId.tip);
//                    message = Language.StringByID(StringId.VisitorTipContent);
//                }
//                else
//                {
//                    tip = Language.StringByID(StringId.tip);
//                    message = Language.StringByID(StringId.VisitorDelTipContent);
//                }
//                new LpTipDialog(Application.Activity, tip, message, new LpTipDialogCallBack(voucher_action)).Show();
//            };
            //将二维码保存到本地相册
            codeIV.MouseLongEventHandler += (sender, e) =>
            {
#if __Android__
                bool bol = HDLImageUtils.SaveImageToGallery(Application.Activity,
                    Scan.BytesFromText(tempPassword.tempPwd, codeIV.Width, codeIV.Height));
//            //将二维码保存到本地相册
//            codeIV.MouseLongEventHandler += (sender, e) =>
//            {
//#if __Android__
//                bool bol = HDLImageUtils.SaveImageToGallery(Application.Activity,
//                    Scan.BytesFromText(tempPassword.tempPwd, codeIV.Width, codeIV.Height));
                string msg = "";
                if (bol)
                {
                    msg = Language.StringByID(StringId.SavedSuccessfully);
                }
                else
                {
                    msg = Language.StringByID(StringId.saveFail);
                }
//                string msg = "";
//                if (bol)
//                {
//                    msg = Language.StringByID(StringId.SavedSuccessfully);
//                }
//                else
//                {
//                    msg = Language.StringByID(StringId.saveFail);
//                }
                var tip_dialog = new Tip()
                {
                    Text = msg,
                    CloseTime = 2,
                    Direction = AMPopTipDirection.None
                };
                tip_dialog.Show(MainPage.BaseView);
#endif
            };
//                var tip_dialog = new Tip()
//                {
//                    Text = msg,
//                    CloseTime = 2,
//                    Direction = AMPopTipDirection.None
//                };
//                tip_dialog.Show(MainPage.BaseView);
//#endif
//            };
            if (tempPassword != null && tempPassword.id != null && tempPassword.id != "")
            {
                pwdEditText.Text = tempPassword.tempPwd;
                pwdEditText.PlaceholderText = Language.StringByID(StringId.TemporaryPasswordInvalid);
                pwdEditText.Enable = false;
                phoneNumberEditText.Enable = false;
                randomBtn.Visible = false;
                startTimeBtn.Enable = false;
                endTimeBtn.Enable = false;
            }
            else
            {
                pwdEditText.FoucsChanged = (sender, e) =>
                {
                    if (!pwdEditText.Foucs)
                    {
                        // 6位密码验证
                        var tip_dialog = new Tip()
                        {
                            Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
                            CloseTime = 2,
                            Direction = AMPopTipDirection.None
                        };
                        tip_dialog.Show(MainPage.BaseView);
                    }
                };
//            if (tempPassword != null && tempPassword.id != null && tempPassword.id != "")
//            {
//                pwdEditText.Text = tempPassword.tempPwd;
//                pwdEditText.PlaceholderText = Language.StringByID(StringId.TemporaryPasswordInvalid);
//                pwdEditText.Enable = false;
//                phoneNumberEditText.Enable = false;
//                randomBtn.Visible = false;
//                startTimeBtn.Enable = false;
//                endTimeBtn.Enable = false;
//            }
//            else
//            {
//                pwdEditText.FoucsChanged = (sender, e) =>
//                {
//                    if (!pwdEditText.Foucs)
//                    {
//                        // 6位密码验证
//                        var tip_dialog = new Tip()
//                        {
//                            Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
//                            CloseTime = 2,
//                            Direction = AMPopTipDirection.None
//                        };
//                        tip_dialog.Show(MainPage.BaseView);
//                    }
//                };
                randomBtn.MouseUpEventHandler += (sender, e) =>
                {
                    string tPwd = getRandomPwd();
                    pwdEditText.Text = tPwd;
                };
//                randomBtn.MouseUpEventHandler += (sender, e) =>
//                {
//                    string tPwd = getRandomPwd();
//                    pwdEditText.Text = tPwd;
//                };
                phoneNumberEditText.FoucsChanged = (sender, e) =>
                {
                    if (!phoneNumberEditText.Foucs)
                    {
                        //手机号码错误提示
                        if (!Utlis.CheckPhoneNumber(phoneNumberEditText.Text.Trim(), "86"))
                        {
                            var tip_dialog = new Tip()
                            {
                                Text = Language.StringByID(StringId.PhoneNumberErrorTip),
                                CloseTime = 2,
                                Direction = AMPopTipDirection.None
                            };
                            tip_dialog.Show(MainPage.BaseView);
                        }
                    }
                };
            }
//                phoneNumberEditText.FoucsChanged = (sender, e) =>
//                {
//                    if (!phoneNumberEditText.Foucs)
//                    {
//                        //手机号码错误提示
//                        if (!Utlis.CheckPhoneNumber(phoneNumberEditText.Text.Trim(), "86"))
//                        {
//                            var tip_dialog = new Tip()
//                            {
//                                Text = Language.StringByID(StringId.PhoneNumberErrorTip),
//                                CloseTime = 2,
//                                Direction = AMPopTipDirection.None
//                            };
//                            tip_dialog.Show(MainPage.BaseView);
//                        }
//                    }
//                };
//            }
            RefreshVisitorVoucherBtn();
        }
//            RefreshVisitorVoucherBtn();
//        }
        /// <summary>
        /// 刷新VisitorVoucherBtn状态
        /// </summary>
        private void RefreshVisitorVoucherBtn()
        {
            if (tempPassword == null) return;
//        /// <summary>
//        /// 刷新VisitorVoucherBtn状态
//        /// </summary>
//        private void RefreshVisitorVoucherBtn()
//        {
//            if (tempPassword == null) return;
            if (tempPassword.tempPwd != null && tempPassword.tempPwd != "")
            {
                codeIV.ImageBytes = Scan.BytesFromText(tempPassword.tempPwd, codeIV.Width, codeIV.Height);
                //判断二维码是否失效
                DateTime endTime = DateTime.Parse(tempPassword.validEndTime);
                DateTime currentTime = DateTime.Now;
                if (currentTime > endTime || !tempPassword.status)
                {
                    // 二维码有效期提示
                    codeTip = new Button()
                    {
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.textWhiteColor,
                        BackgroundColor = CSS_Color.DialogTransparentColor1,
                        Text = Language.StringByID(StringId.QRcodeIsInvalid),
                    };
                    codeLayout.AddChidren(codeTip);
                    visitorVoucherBtn.Visible = false;
                }
                visitorVoucherBtn.Text = Language.StringByID(StringId.CancleVisitorCredentials);
            }
            else
            {
                visitorVoucherBtn.Visible = true;
                visitorVoucherBtn.Text = Language.StringByID(StringId.GenerateVisitorCredentials);
            }
        }
//            if (tempPassword.tempPwd != null && tempPassword.tempPwd != "")
//            {
//                codeIV.ImageBytes = Scan.BytesFromText(tempPassword.tempPwd, codeIV.Width, codeIV.Height);
//                //判断二维码是否失效
//                DateTime endTime = DateTime.Parse(tempPassword.validEndTime);
//                DateTime currentTime = DateTime.Now;
//                if (currentTime > endTime || !tempPassword.status)
//                {
//                    // 二维码有效期提示
//                    codeTip = new Button()
//                    {
//                        TextAlignment = TextAlignment.Center,
//                        TextColor = CSS_Color.textWhiteColor,
//                        BackgroundColor = CSS_Color.DialogTransparentColor1,
//                        Text = Language.StringByID(StringId.QRcodeIsInvalid),
//                    };
//                    codeLayout.AddChidren(codeTip);
//                    visitorVoucherBtn.Visible = false;
//                }
//                visitorVoucherBtn.Text = Language.StringByID(StringId.CancleVisitorCredentials);
//            }
//            else
//            {
//                visitorVoucherBtn.Visible = true;
//                visitorVoucherBtn.Text = Language.StringByID(StringId.GenerateVisitorCredentials);
//            }
//        }
        /// <summary>
        /// 添加临时密码(访客凭证)
        /// </summary>
        /// <param name="homeId">住宅id</param>
        /// <param name="phone">访客手机号</param>
        /// <param name="tempPwd">临时密码</param>
        /// <param name="validBeginTime">开始时间</param>
        /// <param name="validEndTime">结束时间</param>
        /// <param name="useCount">使用次数,默认一个数值大一些的</param>
        /// <returns></returns>
        private bool CreateVisitorPassword(VisitorTempPassword pwd)
        {
            var result = false;
            Dictionary<string, object> dictionary = new Dictionary<string, object>();
            dictionary.Add("homeId", pwd.homeId);
            dictionary.Add("phone", pwd.phone);
            dictionary.Add("tempPwd", pwd.tempPwd);
            dictionary.Add("validBeginTime", pwd.validBeginTime);
            dictionary.Add("validEndTime", pwd.validEndTime);
            dictionary.Add("useCount", pwd.useCount);
//        /// <summary>
//        /// 添加临时密码(访客凭证)
//        /// </summary>
//        /// <param name="homeId">住宅id</param>
//        /// <param name="phone">访客手机号</param>
//        /// <param name="tempPwd">临时密码</param>
//        /// <param name="validBeginTime">开始时间</param>
//        /// <param name="validEndTime">结束时间</param>
//        /// <param name="useCount">使用次数,默认一个数值大一些的</param>
//        /// <returns></returns>
//        private bool CreateVisitorPassword(VisitorTempPassword pwd)
//        {
//            var result = false;
//            Dictionary<string, object> dictionary = new Dictionary<string, object>();
//            dictionary.Add("homeId", pwd.homeId);
//            dictionary.Add("phone", pwd.phone);
//            dictionary.Add("tempPwd", pwd.tempPwd);
//            dictionary.Add("validBeginTime", pwd.validBeginTime);
//            dictionary.Add("validEndTime", pwd.validEndTime);
//            dictionary.Add("useCount", pwd.useCount);
            var requestJson = HttpUtil.GetSignRequestJson(dictionary);
            var pack = HttpUtil.RequestHttpsPost(NewAPI.API_POST_ADD_TEMP_PASSWORD, requestJson);
            if (pack != null)
            {
                if (pack.Code == StateCode.SUCCESS)
                {
                    pwd.id = pack.Data.ToString();
                    codeIV.ImageBytes = Scan.BytesFromText(pwdEditText.Text, codeIV.Width, codeIV.Height);
                    codeSaveTipBtn.Visible = true;
                    RefreshVisitorVoucherBtn();
                }
                else {
                    var tip_dialog = new Tip()
                    {
                        Text = pack.message,
                        CloseTime = 2,
                        Direction = AMPopTipDirection.None
                    };
                    tip_dialog.Show(MainPage.BaseView);
                }
            }
            return result;
        }
//            var requestJson = HttpUtil.GetSignRequestJson(dictionary);
//            var pack = HttpUtil.RequestHttpsPost(NewAPI.API_POST_ADD_TEMP_PASSWORD, requestJson);
//            if (pack != null)
//            {
//                if (pack.Code == StateCode.SUCCESS)
//                {
//                    pwd.id = pack.Data.ToString();
//                    codeIV.ImageBytes = Scan.BytesFromText(pwdEditText.Text, codeIV.Width, codeIV.Height);
//                    codeSaveTipBtn.Visible = true;
//                    RefreshVisitorVoucherBtn();
//                }
//                else {
//                    var tip_dialog = new Tip()
//                    {
//                        Text = pack.message,
//                        CloseTime = 2,
//                        Direction = AMPopTipDirection.None
//                    };
//                    tip_dialog.Show(MainPage.BaseView);
//                }
//            }
//            return result;
//        }
        /// <summary>
        /// 删除临时密码(访客凭证)
        /// </summary>
        /// <param name="home_id">住宅id</param>
        /// <param name="pwd_id">临时密码id</param>
        private bool DelVisitorPassword(VisitorTempPassword pwd)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();
            dictionary.Add("homeId", pwd.homeId);
            dictionary.Add("id", pwd.id);
            var result = false;
            var requestJson = HttpUtil.GetSignRequestJson(dictionary);
            var pack = HttpUtil.RequestHttpsPost(NewAPI.API_POST_DEL_TEMP_PASSWORD, requestJson);
            if (pack != null)
            {
                if (pack.Code == StateCode.SUCCESS)
                {
                    // 关闭当前界面
                    RemoveFromParent();
                }
            }
            RefreshVisitorVoucherBtn();
            return result;
        }
//        /// <summary>
//        /// 删除临时密码(访客凭证)
//        /// </summary>
//        /// <param name="home_id">住宅id</param>
//        /// <param name="pwd_id">临时密码id</param>
//        private bool DelVisitorPassword(VisitorTempPassword pwd)
//        {
//            Dictionary<string, object> dictionary = new Dictionary<string, object>();
//            dictionary.Add("homeId", pwd.homeId);
//            dictionary.Add("id", pwd.id);
//            var result = false;
//            var requestJson = HttpUtil.GetSignRequestJson(dictionary);
//            var pack = HttpUtil.RequestHttpsPost(NewAPI.API_POST_DEL_TEMP_PASSWORD, requestJson);
//            if (pack != null)
//            {
//                if (pack.Code == StateCode.SUCCESS)
//                {
//                    // 关闭当前界面
//                    RemoveFromParent();
//                }
//            }
//            RefreshVisitorVoucherBtn();
//            return result;
//        }
        /// <summary>
        /// 生成6位随机密码
        /// </summary>
        /// <returns></returns>
        private string getRandomPwd()
        {
            string pwd = "";
            for (int i = 0; i < 6; i++)
            {
                int math = new Random().Next(0, 9);
                pwd += math;
            }
            return pwd;
        }
    }
}
#else
using Shared;
//        /// <summary>
//        /// 生成6位随机密码
//        /// </summary>
//        /// <returns></returns>
//        private string getRandomPwd()
//        {
//            string pwd = "";
//            for (int i = 0; i < 6; i++)
//            {
//                int math = new Random().Next(0, 9);
//                pwd += math;
//            }
//            return pwd;
//        }
//    }
//}
//#else
//using Shared;
namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
{
    public class VisitorQRCodePage : FrameLayout
    { }
}
#endif
//namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
//{
//    public class VisitorQRCodePage : FrameLayout
//    { }
//}
//#endif