xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs
@@ -1,4 +1,5 @@
using System;
using HDL_ON.DAL.Server;
using Shared;
namespace HDL_ON.UI
@@ -23,60 +24,68 @@
                var memberAccount = etMemberAccount.Text.Trim();
                if(string.IsNullOrEmpty(memberAccount))
                {
                    TipDivMsg(Language.StringByID(StringId.AccountErrorPlsC));
                    TipDivMsg(Language.StringByID(StringId.PlsEntryAccount));
                    return;
                }
                var result = new DAL.Server.HttpServerRequest().BindResidenceMemberAccount(memberAccount, "");
                switch(result.StateCode )
                {
                    //(1)Success 则调用此接口成功
                    case "SUCCESS":
                        TipDivMsg(Language.StringByID(StringId.MemberAddedSuccessfully));
                        break;
                    //(2)ParameterOrEmpty 提供的参数错误,详情见ErrorInfo字段
                    case "ParameterOrEmpty":
                    //(3)NoLogin,则响应字段中[ErrorInfo]为错误信息为[无效登录Token!]
                    case "NoLogin":
                        TipDivMsg(Language.StringByID(StringId.DataExceptionPleaseTryAgain));
                        break;
                    //(4)AccountNoExists 子账号未注册,请绑定已注册的子账号!
                    case "AccountNoExists":
                        TipDivMsg(Language.StringByID(StringId.FailedToAddTheMemberAccountIsNotRegistered));
                        break;
                    //(5)SameAccount,不能添加自己为子账号!
                    case "SameAccount":
                        TipDivMsg(Language.StringByID(StringId.FailedToAddUnableToAddYourself));
                        break;
                    //(6)NoExist 用户不存在此住宅
                    case "NoExist":
                        TipDivMsg(Language.StringByID(StringId.ThisHomeDoesNotExistForTheUser));
                        break;
                    //(7)Exist 账号已存在此住宅
                    case "Exist":
                        TipDivMsg(Language.StringByID(StringId.MemberAccountHasBeenAddedAndCannotBeAddedAgain));
                        break;
                    //(8)Fail 操作失败
                    case "Fail":
                        TipDivMsg(Language.StringByID(StringId.OperationFailed));
                        break;
                    //(9)BeRestrict 权限不足
                    case "BeRestrict":
                        TipDivMsg(Language.StringByID(StringId.AddFailedInsufficientPermissions));
                        break;
                    //(10)NoAddMainAccount 不能绑定主账号
                    case "NoAddMainAccount":
                        break;
                }
                BindMember(memberAccount);
            };
        }
        /// <summary>
        /// 绑定账号
        /// </summary>
        /// <param name="memberAccount"></param>
        void BindMember(string memberAccount)
        {
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            new System.Threading.Thread(() =>
            {
                try
                {
                    var result = new HttpServerRequest().BindResidenceMemberAccount(memberAccount, memberAccount);
                    if (result.Code == StateCode.SUCCESS)
                    {
                        Application.RunOnMainThread(() =>
                        {
                            backAction?.Invoke();
                            this.RemoveFromParent();
                            var page = new OperationResultDisPalyPage();
                            page.Show();
                            page.LoadPage(true, Language.StringByID(StringId.AddMember), Language.StringByID(StringId.WelcomeNewMmember), "");
                        });
                    }
                    else
                    {
                        IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
                    }
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
                    });
                }
            })
            { IsBackground = true }.Start();
        }
        void OpenScen(Action<string> action)
        {
            btnScan.MouseUpEventHandler = (sender, e) =>
            {
                HDL_ON_iOS.Scan.OpenScan((scanString) =>
                Scan.OpenScan((scanString) =>
                {
                    action(scanString);
                });