From 307e554fb2ef6491d08afc58a6c0a852f44b4f46 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 01 十二月 2020 17:04:50 +0800
Subject: [PATCH] 2020-12-01-1

---
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs |  261 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 217 insertions(+), 44 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
index 285c2f0..09934a6 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
@@ -1,4 +1,6 @@
 锘縰sing System;
+using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
 using Shared;
 
 namespace HDL_ON.UI
@@ -14,6 +16,11 @@
             LoadEvent_Logout();
             LoadEvent_EditUserName();
             LoadEvent_SkipInterpretationSettings();
+            LoadEvent_ChangeBindEmail();
+            LoadEvent_ChangeBindPhone();
+            LoadEvent_SkipModifyPassword();
+            LoadEvent_MyQRcode();
+            GetUserInfo();
         }
 
         /// <summary>
@@ -21,9 +28,51 @@
         /// </summary>
         void LoadEvent_ChangeHeadImageView()
         {
-            userHeadImageView.MouseUpEventHandler = (sender, e) => {
+            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>
@@ -31,37 +80,47 @@
         /// </summary>
         void LoadEvent_Logout()
         {
-            btnLogout.MouseUpEventHandler += (sender, e) => {
-                MainPage.LoginUser.lastTime = DateTime.MinValue;
-                MainPage.LoginUser.SaveUserInfo();
-                MainPage.GoLoginPage(MainPage.LoginUser.accountString);
+            btnLogout.MouseUpEventHandler += (sender, e) =>
+            {
+                Action okAction = () =>
+                {
+                    Logout();
+                };
+                new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction);
             };
         }
-
 
         /// <summary>
         /// 鍔犺浇鑳屾櫙鍥鹃�夋嫨鍖哄煙浜嬩欢鍒楄〃
         /// </summary>
-        void LoadEvent_PictureOptionViewEventList()
+        void LoadEvent_PictureOptionViewEventList(FrameLayout baseView)
         {
             pictureOptionView.MouseUpEventHandler = (sender, e) =>
             {
-                pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
-
+            baseView.MouseUpEventHandler = (sender, e) =>
+            {
+                baseView.RemoveFromParent();
+            };
             btnCancel.MouseUpEventHandler = (sender, e) =>
             {
-                pictureOptionView.RemoveFromParent();
+                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)
                     {
-                        MainPage.LoginUser.headImagePagePath = imagePath.ToString();
+                        UserInfo.Current.headImagePagePath = imagePath.ToString();
                         userHeadImageView.ImagePath = imagePath.ToString();
                         updataHeadImage();
                         new System.Threading.Thread(() =>
@@ -69,21 +128,28 @@
                             new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
                         })
                         { IsBackground = true }.Start();
-                        MainPage.LoginUser.SaveUserInfo();
+                        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)
                     {
-                        MainPage.LoginUser.headImagePagePath = imagePath.ToString();
+                        UserInfo.Current.headImagePagePath = imagePath.ToString();
                         userHeadImageView.ImagePath = imagePath.ToString();
                         updataHeadImage();
 
@@ -91,11 +157,12 @@
                         {
                             new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
                         })
-                        { IsBackground = true }.Start(); MainPage.LoginUser.SaveUserInfo();
+                        { IsBackground = true }.Start(); UserInfo.Current.SaveUserInfo();
                         MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
                     }
                 }, pid.ToString(), 1, 1);
                 pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
         }
 
@@ -112,10 +179,14 @@
                     {
                         new Tip()
                         {
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Text = Language.StringByID(StringId.UesrNameCannotBeEmpty),
                             Direction = AMPopTipDirection.None,
                         }.Show(bodyView);
+                        return;
+                    }
+                    if (str == UserInfo.Current.userName)
+                    {
                         return;
                     }
                     var waitPage = new Loading();
@@ -124,11 +195,11 @@
                     {
                         try
                         {
-                            var responsePack = new DAL.Server.HttpServerRequest().EditUserName(str);
-                            if (responsePack.StateCode.ToUpper() == "SUCCESS")
+                            var resultObj = new HttpServerRequest().EditUserName(str);
+                            if (resultObj.Code == StateCode.SUCCESS)
                             {
-                                MainPage.LoginUser.userName = str;
-                                MainPage.LoginUser.SaveUserInfo();
+                                UserInfo.Current.userName = str;
+                                UserInfo.Current.SaveUserInfo();
                                 Application.RunOnMainThread(() =>
                                 {
                                     btnUserName.Text = str;
@@ -137,47 +208,121 @@
                             }
                             else
                             {
-                                var tipStr = "Server erorr";
-                                switch (responsePack.StateCode)
-                                {
-                                    case "NoLogin":
-                                        tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
-                                        break;
-                                    case "AccountNoExists":
-                                        tipStr = "";
-                                        break;
-                                }
-                                Application.RunOnMainThread(() =>
-                                {
-                                //鎻愮ず鍘熷洜
-                                var tip = new Tip()
-                                    {
-                                        Text = tipStr,
-                                        CloseTime = 3,
-                                        Direction = AMPopTipDirection.None
-                                    };
-                                    tip.Show(bodyView);
-                                });
+                                //澶辫触鎻愮ず
+                                IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
                             }
-                        }catch (Exception ex)
+                        }
+                        catch (Exception ex)
                         {
                             MainPage.Log($"update user name error : {ex.Message}");
                         }
                         finally
                         {
-                            Application.RunOnMainThread(() => {
+                            Application.RunOnMainThread(() =>
+                            {
                                 waitPage.Hide();
                             });
                         }
                     })
                     { IsBackground = true }.Start();
                 };
-                new PublicAssmebly().LoadDialog_EditParater(StringId.UesrName, MainPage.LoginUser.userName, callBack);
+                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 瑙i攣璁剧疆鍖哄煙
         void LoadEvent_SkipInterpretationSettings()
@@ -197,5 +342,33 @@
 
         #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();
+        }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0