New file |
| | |
| | | using Shared.Common;
|
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Text;
|
| | |
|
| | | namespace Shared.Phone.UserCenter.Transfer
|
| | | {
|
| | | /// <summary>
|
| | | /// 执行过户操作的界面
|
| | | /// </summary>
|
| | | public class TransferingResidenceForm : EditorCommonForm
|
| | | {
|
| | | #region ■ 变量声明___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 1:移交给用户 2:授权给调试人员
|
| | | /// </summary>
|
| | | private int TransferDiv = 0;
|
| | | /// <summary>
|
| | | /// 成员信息
|
| | | /// </summary>
|
| | | private AccountInfoResult memberResult = null;
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 初始化_____________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
| | | /// </summary>
|
| | | /// <param name="i_memberResult">账号信息</param>
|
| | | /// <param name="i_TransferDiv">1:移交给用户 2:授权给调试人员</param>
|
| | | public void ShowForm(AccountInfoResult i_memberResult, int i_TransferDiv)
|
| | | {
|
| | | this.ScrollEnabled = false;
|
| | |
|
| | | this.TransferDiv = i_TransferDiv;
|
| | | this.memberResult = i_memberResult;
|
| | |
|
| | | //设置头部信息
|
| | | base.SetTitleText(i_TransferDiv == 1
|
| | | ? Language.StringByID(R.MyInternationalizationString.HandoverToUser).Replace("{0}", string.Empty)
|
| | | : Language.StringByID(R.MyInternationalizationString.AuthorizedToCommissioningPersonnel).Replace("{0}", string.Empty));
|
| | |
|
| | |
|
| | | //初始化中部信息
|
| | | this.InitMiddleFrame();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 初始化中部信息
|
| | | /// </summary>
|
| | | private void InitMiddleFrame()
|
| | | {
|
| | | //清空bodyFrame
|
| | | this.ClearBodyFrame();
|
| | |
|
| | | //住宅的图标
|
| | | var btnIcon1 = new PicViewControl(268, 268);
|
| | | btnIcon1.Y = Application.GetRealHeight(366);
|
| | | btnIcon1.X = Application.GetRealWidth(139);
|
| | | btnIcon1.UnSelectedImagePath = "Item/TransferOfResidenceIcon.png";
|
| | | bodyFrameLayout.AddChidren(btnIcon1);
|
| | | //住宅名字 (以中间为基准,左右间距50)
|
| | | var btnHouseName = new NormalViewControl(bodyFrameLayout.Width / 2 - Application.GetRealWidth(100), Application.GetRealHeight(110), false);
|
| | | btnHouseName.X = Application.GetRealWidth(50);
|
| | | btnHouseName.Y = btnIcon1.Bottom + Application.GetRealHeight(23);
|
| | | btnHouseName.IsBold = true;
|
| | | btnHouseName.IsMoreLines = true;
|
| | | btnHouseName.TextAlignment = TextAlignment.Center;
|
| | | btnHouseName.TextSize = 16;
|
| | | btnHouseName.Text = Config.Instance.Home.Name;
|
| | | bodyFrameLayout.AddChidren(btnHouseName);
|
| | |
|
| | | //头像
|
| | | var btnUserIcon = new ImageView();
|
| | | btnUserIcon.Height = this.GetPictrueRealSize(268);
|
| | | btnUserIcon.Width = this.GetPictrueRealSize(268);
|
| | | btnUserIcon.Radius = (uint)this.GetPictrueRealSize(268) / 2;
|
| | | if (memberResult.HeadImage != null)
|
| | | {
|
| | | btnUserIcon.ImageBytes = memberResult.HeadImage;
|
| | | }
|
| | | else
|
| | | {
|
| | | btnUserIcon.ImagePath = "Center/Admin.png";
|
| | | }
|
| | | btnUserIcon.Y = btnIcon1.Y;
|
| | | btnUserIcon.X = bodyFrameLayout.Width - Application.GetRealWidth(139) - this.GetPictrueRealSize(268);
|
| | | bodyFrameLayout.AddChidren(btnUserIcon);
|
| | |
|
| | | //昵称 (以中间为基准,左右间距50)
|
| | | var btnName = new NormalViewControl(btnHouseName.Width, btnHouseName.Height, false);
|
| | | btnName.X = btnHouseName.Right + Application.GetRealWidth(100);
|
| | | btnName.Y = btnHouseName.Y;
|
| | | btnName.IsBold = true;
|
| | | btnName.IsMoreLines = true;
|
| | | btnName.TextAlignment = TextAlignment.Center;
|
| | | btnName.TextSize = 16;
|
| | | //如果它本身就没名字的话,把他的ID作为昵称
|
| | | btnName.Text = string.IsNullOrEmpty(memberResult.UserName) == true ? memberResult.Account : memberResult.UserName;
|
| | | bodyFrameLayout.AddChidren(btnName);
|
| | |
|
| | | //开启连接的假想动画效果线程
|
| | | this.StartConcetionAnimeteThread(btnIcon1.Right + Application.GetRealWidth(49));
|
| | |
|
| | | //终止
|
| | | var btnCancel = new BottomClickButton();
|
| | | btnCancel.TextID = R.MyInternationalizationString.uTermination;
|
| | | bodyFrameLayout.AddChidren(btnCancel);
|
| | | btnCancel.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | this.CloseForm();
|
| | | };
|
| | |
|
| | | //初始化消息控件
|
| | | this.InitMsgControl(btnCancel);
|
| | |
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 假想动画___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 开启连接的假想动画效果线程
|
| | | /// </summary>
|
| | | private void StartConcetionAnimeteThread(int XX)
|
| | | {
|
| | | //生成点号图样
|
| | | int pointXX = XX;
|
| | | for (int i = 0; i < 7; i++)
|
| | | {
|
| | | var btnPoint = new NormalViewControl(14, 8, true);
|
| | | btnPoint.Radius = (uint)Application.GetRealHeight(8) / 2;
|
| | | btnPoint.BackgroundColor = 0xffd5d5d5;
|
| | | btnPoint.Y = Application.GetRealHeight(498);
|
| | | btnPoint.X = pointXX;
|
| | | bodyFrameLayout.AddChidren(btnPoint);
|
| | | pointXX = btnPoint.Right + Application.GetRealWidth(14);
|
| | | }
|
| | |
|
| | | int iconSize = this.GetPictrueRealSize(24);
|
| | |
|
| | | var listPoint = new List<int>();
|
| | | //跳动的间距
|
| | | int intSpace = Application.GetRealWidth(14 + 14);
|
| | | for (int i = 0; i < 7; i++)
|
| | | {
|
| | | //X轴+Index*(图标大小+间距)
|
| | | listPoint.Add(XX + i * intSpace);
|
| | | }
|
| | |
|
| | | var btnRound = new PicViewControl(iconSize, iconSize, false);
|
| | | btnRound.Radius = (uint)iconSize / 2;
|
| | | btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor;
|
| | | btnRound.X = listPoint[0];
|
| | | btnRound.Y = Application.GetRealHeight(490);
|
| | | bodyFrameLayout.AddChidren(btnRound);
|
| | |
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | int index = 1;
|
| | | while (this.Parent != null)
|
| | | {
|
| | | System.Threading.Thread.Sleep(500);
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | if (btnRound != null)
|
| | | {
|
| | | btnRound.X = listPoint[index];
|
| | | index++;
|
| | | if (index == listPoint.Count)
|
| | | {
|
| | | index = 0;
|
| | | }
|
| | | }
|
| | | });
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 执行过户___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 执行过户
|
| | | /// </summary>
|
| | | private void DoTransferResidence()
|
| | | {
|
| | | this.ShowProgressBar();
|
| | | System.Threading.Thread.Sleep(1500);
|
| | |
|
| | | var pra2 = new
|
| | | {
|
| | | RequestVersion = CommonPage.RequestVersion,
|
| | | RequestSource = 0,
|
| | | LoginAccessToken = Config.Instance.Token,
|
| | | HomeId = Config.Instance.Home.Id,
|
| | | TargetAccount = this.memberResult.Account
|
| | | };
|
| | | var result = UserCenterLogic.GetResultCodeByRequestHttps("App/SellHome", false, pra2, new List<string> { "NotCheck" });
|
| | | bool success = result.ToLower() == "success";
|
| | |
|
| | | this.CloseProgressBar();
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | var form = new TransferResidenceResultForm();
|
| | | form.AddForm(this.memberResult, success);
|
| | | form.FinishEvent += () =>
|
| | | {
|
| | | if (success == false)
|
| | | {
|
| | | //重试
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | //执行过户
|
| | | this.DoTransferResidence();
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | | //成功过户 则切换住宅
|
| | | var listLocalHouse = HdlResidenceLogic.Current.GetAllLocalResidenceListByDirectory();
|
| | | if (listLocalHouse.Count == 1)
|
| | | {
|
| | | //如果只有一个住宅,则过户之后,直接退到登陆界面
|
| | | UserCenterLogic.ReLoginAgain(Config.Instance.Account);
|
| | | return;
|
| | | }
|
| | | else
|
| | | {
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | this.ShowProgressBar();
|
| | | //取一个住宅id
|
| | | string houseId = string.Empty;
|
| | | foreach (var myHouse in listLocalHouse)
|
| | | {
|
| | | houseId = myHouse.Id;
|
| | | if (houseId != Config.Instance.Home.Id)
|
| | | {
|
| | | //随便取一个和当前住宅不相等的ID
|
| | | break;
|
| | | }
|
| | | }
|
| | | //当前住宅ID
|
| | | string nowHouseId = Config.Instance.Home.Id;
|
| | | //切换住宅
|
| | | bool result2 = HdlResidenceLogic.Current.SwitchResidence(houseId);
|
| | | //删掉这个文件夹
|
| | | HdlResidenceLogic.Current.DeleteHouseMemmory(nowHouseId);
|
| | |
|
| | | if (result2 == true)
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //关闭全部的界面.直到住宅列表界面
|
| | | UserCenterLogic.CloseAllOpenForm("ResidenceListMainForm");
|
| | | });
|
| | | }
|
| | | this.CloseProgressBar();
|
| | | });
|
| | | |
| | | }
|
| | | }
|
| | | };
|
| | | });
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 一般方法___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 初始化消息控件
|
| | | /// </summary>
|
| | | private void InitMsgControl(BottomClickButton btnCancel)
|
| | | {
|
| | | string msg = this.TransferDiv == 1
|
| | | ? Language.StringByID(R.MyInternationalizationString.uHandoverToUserPleaseWaitting)
|
| | | : Language.StringByID(R.MyInternationalizationString.uAuthorizingToDebuggingPersonnelPleaseWaitting);
|
| | |
|
| | | //正在移交给用户,请稍后... 正在授权给调试人员,请稍后...
|
| | | var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
|
| | | btnMsg.Y = Application.GetRealHeight(916);
|
| | | btnMsg.TextAlignment = TextAlignment.Center;
|
| | | btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
|
| | | btnMsg.Text = msg;
|
| | | bodyFrameLayout.AddChidren(btnMsg);
|
| | |
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | int timeOut = 15;
|
| | | while (timeOut >= 0 && this.Parent != null)
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | btnMsg.Text = msg + timeOut + "s";
|
| | | if (timeOut == 0)
|
| | | {
|
| | | btnMsg.Text = msg;
|
| | | }
|
| | | }, ShowErrorMode.NO);
|
| | | System.Threading.Thread.Sleep(1000);
|
| | | timeOut--;
|
| | | }
|
| | | if (timeOut <= 0)
|
| | | {
|
| | | //执行过户操作
|
| | | this.DoTransferResidence();
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | #endregion
|
| | | }
|
| | | }
|