陈嘉乐
2020-12-01 307e554fb2ef6491d08afc58a6c0a852f44b4f46
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
@@ -1,4 +1,8 @@
using System;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using Shared;
namespace HDL_ON.UI
{
    public partial class PersonalDataPage
@@ -8,14 +12,363 @@
        /// </summary>
        void LoadEventList()
        {
            LoadEvent_ChangeHeadImageView();
            LoadEvent_Logout();
            LoadEvent_EditUserName();
            LoadEvent_SkipInterpretationSettings();
            LoadEvent_ChangeBindEmail();
            LoadEvent_ChangeBindPhone();
            LoadEvent_SkipModifyPassword();
            LoadEvent_MyQRcode();
            GetUserInfo();
        }
        void LoadEvent_Logout()
        /// <summary>
        /// 加载选择头像选项view
        /// </summary>
        void LoadEvent_ChangeHeadImageView()
        {
            btnLogout.MouseUpEventHandler += (sender, e) => {
                MainPage.GoLoginPage(MainPage.LoginUser.AccountString);
            userHeadImageView.MouseUpEventHandler = (sender, e) =>
            {
                LoadPictureOptionView();
            };
        }
        /// <summary>
        /// 退出登录操作
        /// </summary>
        void Logout()
        {
            #region 保存本地数据至文件夹
            string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString());
            new System.Threading.Thread(() =>
            {
                try
                {
                    var backuplist = FileUtils.ReadFiles();
                    FileUtils.DeleteRegionFiles(oldRegionRootPath);
                    //移动文件
                    foreach (var fileName in backuplist)
                    {
                        System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName);
                        if (fileInfo.Exists)
                        {
                            fileInfo.MoveTo(oldRegionRootPath + fileName);
                            MainPage.Log("move file : " + fileName);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MainPage.Log($"xxx:{ex.Message}");
                }
                finally
                {
                    FileUtils.DeleteAllFile();
                }
            }).Start();
            #endregion
            UserInfo.Current.LastTime = DateTime.MinValue;
            UserInfo.Current.SaveUserInfo();
            MainPage.GoLoginPage(UserInfo.Current);
            DB_ResidenceData.residenceData.EixtAccount();
        }
        /// <summary>
        /// 退出账号登录事件
        /// </summary>
        void LoadEvent_Logout()
        {
            btnLogout.MouseUpEventHandler += (sender, e) =>
            {
                Action okAction = () =>
                {
                    Logout();
                };
                new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction);
            };
        }
        /// <summary>
        /// 加载背景图选择区域事件列表
        /// </summary>
        void LoadEvent_PictureOptionViewEventList(FrameLayout baseView)
        {
            pictureOptionView.MouseUpEventHandler = (sender, e) =>
            {
                baseView.RemoveFromParent();
            };
            baseView.MouseUpEventHandler = (sender, e) =>
            {
                baseView.RemoveFromParent();
            };
            btnCancel.MouseUpEventHandler = (sender, e) =>
            {
                baseView.RemoveFromParent();
            };
            btnTakePicture.MouseUpEventHandler = (sender, e) =>
            {
                btnTakePicture.IsSelected = true;
            };
            btnTakePicture.MouseUpEventHandler = (sender, e) =>
            {
                btnTakePicture.IsSelected = false;
                var pid = Guid.NewGuid();
                CropImage.TakePicture((Action<string>)((imagePath) =>
                {
                    if (imagePath != null)
                    {
                        UserInfo.Current.headImagePagePath = imagePath.ToString();
                        userHeadImageView.ImagePath = imagePath.ToString();
                        updataHeadImage();
                        new System.Threading.Thread(() =>
                        {
                            new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
                        })
                        { IsBackground = true }.Start();
                        UserInfo.Current.SaveUserInfo();
                        MainPage.Log("SelectPicture 裁剪图片返回路径: " + imagePath);
                    }
                }), pid.ToString(), 1, 1);
                pictureOptionView.RemoveFromParent();
                baseView.RemoveFromParent();
            };
            btnAlbum.MouseUpEventHandler = (sender, e) =>
            {
                btnAlbum.IsSelected = true;
            };
            btnAlbum.MouseUpEventHandler = (sender, e) =>
            {
                btnAlbum.IsSelected = false;
                var pid = Guid.NewGuid();
                CropImage.SelectPicture((imagePath) =>
                {
                    if (imagePath != null)
                    {
                        UserInfo.Current.headImagePagePath = imagePath.ToString();
                        userHeadImageView.ImagePath = imagePath.ToString();
                        updataHeadImage();
                        new System.Threading.Thread(() =>
                        {
                            new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
                        })
                        { IsBackground = true }.Start(); UserInfo.Current.SaveUserInfo();
                        MainPage.Log("SelectPicture 裁剪图片返回路径: " + imagePath);
                    }
                }, pid.ToString(), 1, 1);
                pictureOptionView.RemoveFromParent();
                baseView.RemoveFromParent();
            };
        }
        /// <summary>
        /// 加载修改用户名称事件
        /// </summary>
        void LoadEvent_EditUserName()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                Action<string> callBack = (str) =>
                {
                    if (string.IsNullOrEmpty(str))
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.UesrNameCannotBeEmpty),
                            Direction = AMPopTipDirection.None,
                        }.Show(bodyView);
                        return;
                    }
                    if (str == UserInfo.Current.userName)
                    {
                        return;
                    }
                    var waitPage = new Loading();
                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
                    new System.Threading.Thread(() =>
                    {
                        try
                        {
                            var resultObj = new HttpServerRequest().EditUserName(str);
                            if (resultObj.Code == StateCode.SUCCESS)
                            {
                                UserInfo.Current.userName = str;
                                UserInfo.Current.SaveUserInfo();
                                Application.RunOnMainThread(() =>
                                {
                                    btnUserName.Text = str;
                                    updataUserName();
                                });
                            }
                            else
                            {
                                //失败提示
                                IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
                            }
                        }
                        catch (Exception ex)
                        {
                            MainPage.Log($"update user name error : {ex.Message}");
                        }
                        finally
                        {
                            Application.RunOnMainThread(() =>
                            {
                                waitPage.Hide();
                            });
                        }
                    })
                    { IsBackground = true }.Start();
                };
                new PublicAssmebly().LoadDialog_EditParater(StringId.ChangeName, UserInfo.Current.userName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>());
            };
            btnUserName.MouseUpEventHandler = eventHandler;
            btnEditUserNameIcon.MouseUpEventHandler = eventHandler;
        }
        /// <summary>
        /// 加载我的二维码事件
        /// </summary>
        void LoadEvent_MyQRcode()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                //我的二维码
                var aep = new MyQRCodePage();
                MainPage.BasePageView.AddChidren(aep);
                aep.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            _QRcodeView.MouseUpEventHandler = eventHandler;
            btnQRcode.MouseUpEventHandler = eventHandler;
            btnQRcodeIcon.MouseUpEventHandler = eventHandler;
            btnQRcodeRight.MouseUpEventHandler = eventHandler;
        }
        #region 修改绑定邮箱
        /// <summary>
        /// 修改绑定邮箱
        /// </summary>
        void LoadEvent_ChangeBindEmail()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                Action<string> action = (email) =>
                {
                    btnUserEmailInfo.Text = GetBindAccountText(email);
                };
                if (CheckIfUnbound(btnUserEmailInfo.Text))
                {
                    //未绑定,跳转新绑定页面
                    var aep = new NewBindAccountPage();
                    MainPage.BasePageView.AddChidren(aep);
                    aep.LoadPage(action);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
                else
                {
                    var aep = new AccountBindInfoPage();
                    MainPage.BasePageView.AddChidren(aep);
                    aep.LoadPage(action, 1, StringId.EmailAddress);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
            };
            btnUserEmailInfo.MouseUpEventHandler = eventHandler;
            btnUserEmailRight.MouseUpEventHandler = eventHandler;
            userEmailInfoView.MouseUpEventHandler = eventHandler;
        }
        /// <summary>
        /// 修改绑定手机
        /// </summary>
        void LoadEvent_ChangeBindPhone()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                Action<string> action = (phone) =>
                {
                    btnUserPhoneInfo.Text = GetBindAccountText(phone);
                };
                if (CheckIfUnbound(btnUserPhoneInfo.Text))
                {
                    //未绑定,跳转新绑定页面
                    var aep = new NewBindAccountPage();
                    MainPage.BasePageView.AddChidren(aep);
                    aep.LoadPage(action, true);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
                else
                {
                    var aep = new AccountBindInfoPage();
                    MainPage.BasePageView.AddChidren(aep);
                    aep.LoadPage(action, 2, StringId.PhoneInfo);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
            };
            btnUserPhoneInfo.MouseUpEventHandler = eventHandler;
            btnUserPhoneRight.MouseUpEventHandler = eventHandler;
            userPhoneInfoView.MouseUpEventHandler = eventHandler;
        }
        #endregion
        #region 解锁设置区域
        void LoadEvent_SkipInterpretationSettings()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                var page = new AppUnlockSettingsPage();
                MainPage.BasePageView.AddChidren(page);
                page.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            btnInterpretationSettingsRight.MouseUpEventHandler = eventHandler;
            btnInterpretationSettingsTitle.MouseUpEventHandler = eventHandler;
            btnInterpretationSettingsTip.MouseUpEventHandler = eventHandler;
        }
        #endregion
        /// <summary>
        /// 跳转修改密码界面
        /// </summary>
        void LoadEvent_SkipModifyPassword()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                var page = new ResetPasswordOptionPage();
                MainPage.BasePageView.AddChidren(page);
                page.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            btnResetPasswordRight.MouseUpEventHandler = eventHandler;
            btnResetPasswordText.MouseUpEventHandler = eventHandler;
            resetPasswordView.MouseUpEventHandler = eventHandler;
        }
        /// <summary>
        ///
        /// </summary>
        void GetUserInfo()
        {
            new System.Threading.Thread(() =>
            {
                new HttpServerRequest().GetUserInfo();
            })
            { IsBackground = true }.Start();
        }
    }
}
}