using System;
using Shared;
using HDL_ON.UI.CSS;
using HDL_ON.Stan;
using HDL_ON.Entity;
using System.Collections.Generic;
namespace HDL_ON.UI
{
///
/// 管理员权限迁移的成员列表界面
///
public class AdminMigrationMemberListPage : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 成员列表
///
private List listMember = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
public void ShowForm()
{
//管理员权限转移
base.SetTitleText(Language.StringByID(StringId.AdminAuthorityTransfer));
//初始化中部信息
this.InitMiddleFrame();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
HdlThreadLogic.Current.RunThread(() =>
{
this.ShowProgressBar();
//获取成员列表
var responePack = new DAL.Server.HttpServerRequest().GetResidenceMemberAccount();
if (responePack.Code != DAL.Server.StateCode.SUCCESS)
{
//提示
DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
this.CloseProgressBar(ShowReLoadMode.YES);
return;
}
this.CloseProgressBar();
this.listMember = Newtonsoft.Json.JsonConvert.DeserializeObject>(responePack.Data.ToString());
if (listMember.Count == 0)
{
//检测不到可供选择的成员
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(StringId.NotHadMemberToSelect));
return;
}
HdlThreadLogic.Current.RunMain(() =>
{
//列表控件
var listView = new VerticalListControl();
listView.Height = bodyFrameLayout.Height;
listView.BackgroundColor = CSS_Color.MainBackgroundColor;
bodyFrameLayout.AddChidren(listView);
var listIcon = new List();
for (int i = 0; i < listMember.Count; i++)
{
//添加成员行控件
var btnIcon = this.AddMemberRowcontrol(listView, listMember[i], i != listMember.Count - 1);
listIcon.Add(btnIcon);
}
//调整桌布高度
listView.AdjustRealHeight(0);
//获取成员头像
this.DownLoadUserIcon(listIcon);
});
});
}
#endregion
#region ■ 添加成员行控件_____________________
///
/// 添加成员行控件
///
/// 列表控件
/// 成员信息
/// 是否添加底线
private ImageView AddMemberRowcontrol(VerticalListControl listView, ResidenceMemberInfo memberInfo, bool addLine)
{
//行控件
var rowContr = new FrameRowControl();
rowContr.Height = Application.GetRealHeight(65);
listView.AddChidren(rowContr);
//头像(初始)
var btnIcon = new ImageView();
btnIcon.X = HdlControlResourse.XXLeft;
btnIcon.Width = this.GetPictrueRealSize(36);
btnIcon.Height = this.GetPictrueRealSize(36);
btnIcon.Gravity = Gravity.CenterVertical;
btnIcon.Radius = (uint)this.GetPictrueRealSize(36) / 2;
btnIcon.ImagePath = "LoginIcon/2.png";
rowContr.AddChidren(btnIcon);
//昵称
var nickName = string.IsNullOrEmpty(memberInfo.nickName) == true ? memberInfo.memberName : memberInfo.nickName;
var btnName = rowContr.AddTopView(nickName, 200);
btnName.TextColor = CSS_Color.textColor;
btnName.X = btnIcon.Right + Application.GetRealWidth(12);
btnName.Y = Application.GetRealHeight(12);
//邮箱或者手机号
var strPhone = string.IsNullOrEmpty(memberInfo.childAccountPhone) == true ? memberInfo.childAccountEmail : memberInfo.childAccountPhone;
var btnPhone = rowContr.AddBottomView(strPhone, 200);
btnPhone.X = btnName.X;
btnPhone.Y = btnName.Bottom + Application.GetRealHeight(4);
//右箭头
rowContr.AddRightArrow();
//底线
if (addLine == true)
{
rowContr.AddBottomLine();
}
rowContr.ButtonClickEvent += (sender, e) =>
{
var form = new AdminMigrationMemberConfirmPage();
form.AddForm(memberInfo);
};
return btnIcon;
}
#endregion
#region ■ 获取成员头像_______________________
///
/// 获取成员头像
///
/// 头像控件列表,它的索引和this.listMember一致
private void DownLoadUserIcon(List listIcon)
{
HdlThreadLogic.Current.RunThread(() =>
{
for (int i = 0; i < this.listMember.Count; i++)
{
var resultData = ImageUtlis.Current.DownHeadImageByImageKey(this.listMember[i].memberHeadIcon, false, this.listMember[i].childAccountRegionUrl);
if (this.Parent == null)
{
//界面已经关闭
return;
}
if (resultData != null && resultData.Length > 0)
{
int nowIndex = i;
HdlThreadLogic.Current.RunMain(() =>
{
listIcon[nowIndex].ImageBytes = resultData;
}, ShowErrorMode.NO);
}
System.Threading.Thread.Sleep(200);
}
}, ShowErrorMode.NO);
}
#endregion
}
}