using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using Newtonsoft.Json.Linq;
using Shared;
namespace HDL_ON.UI
{
public partial class MemberManagementPage
{
void LoadEventList()
{
}
///
/// 加载获取住宅子账号信息线程
///
Thread LoadThread_GetResidenceMemberAccount()
{
var thread = new Thread(() =>
{
try
{
residenceMemberInfos.Clear();
//
var loginResult = LoadMethod_GetResidenceMemberAccount();
if (loginResult)
{
Application.RunOnMainThread(() =>
{
LoadMemberRow();
});
}
}
catch (Exception ex)
{
MainPage.Log($"LoadThread_GetResidenceMemberAccount : {ex.Message}");
}
finally
{
Application.RunOnMainThread(() =>
{
if (waitPage != null)
{
waitPage.RemoveFromParent();
waitPage = null;
}
});
}
})
{ IsBackground = true };
return thread;
}
///
/// 检测是否需要下载头像并保存到本地
///
void CheckIfDownloadHeadImage(ResidenceMemberInfo residenceMemberInfo)
{
if (string.IsNullOrEmpty(residenceMemberInfo.memberHeadIcon)) return;
var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(residenceMemberInfo.memberHeadIcon, false, residenceMemberInfo.childAccountRegionUrl);
if (headImageBytes != null && headImageBytes.Length > 0)
{
residenceMemberInfo.headImagePagePath = residenceMemberInfo.memberHeadIcon;
Utlis.WriteLine("子账号头像获取成功");
}
}
///
/// 调用获取住宅子账号信息
///
bool LoadMethod_GetResidenceMemberAccount()
{
var result = false;
var responePack = new HttpServerRequest().GetResidenceMemberAccount();
if (responePack.Code == StateCode.SUCCESS)
{
var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject>(responePack.Data.ToString());
foreach (var mInfo in responeObj)
{
try
{
//设置用户昵称
if (string.IsNullOrEmpty(mInfo.nickName))
{
mInfo.nickName = mInfo.memberName;
}
//设置用户头像路径
CheckIfDownloadHeadImage(mInfo);
}
catch (Exception ex)
{
MainPage.Log($"download headImage error : {ex.Message}");
}
finally
{
}
residenceMemberInfos.Add(mInfo);
}
result = true;
}
//失败
else
{
//提示
IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
}
Application.RunOnMainThread(() =>
{
waitPage?.Hide();
waitPage?.RemoveFromParent();
});
return result;
}
/////
///// 获取住宅下子账号的共享数据列表
/////
/////
//void LoadMethod_GetMemberSharedDataList(ResidenceMemberInfo info)
//{
// var responePack = new HttpServerRequest().GetShareDataByMemberAccount(info.childAccountId);
// if (responePack.Code == StateCode.SUCCESS)
// {
// var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject>(responePack.Data.ToString());
// info.CurResidenceShareDate = responeObj;
// //foreach (var sd in info.CurResidenceShareDate)
// //{
// // LoadMethod_GetMemberSharedData(sd);
// //}
// }
// else
// {
// info.CurResidenceShareDate = new List();
// }
//}
/////
///// 获取住宅下子账号的共享数据
/////
/////
//bool LoadMethod_GetMemberSharedData(ShareData sd)
//{
// var shareDataBytes = new HttpServerRequest().GetShareData(sd);
// if (shareDataBytes != null)
// {
// sd.ShareDataBytes = shareDataBytes;
// return true;
// }
// return false;
//}
///
/// 修改昵称窗口
///
void LoadView_EidtNickname(Button btn1, Button btn2, ResidenceMemberInfo mInfo)
{
EventHandler eventHandler = (sender, e) =>
{
Action callBack = (str) =>
{
if (string.IsNullOrEmpty(str))
{
new Tip()
{
CloseTime = 1,
Text = Language.StringByID(StringId.NicknameCannotBeEmpty),
Direction = AMPopTipDirection.None,
}.Show(bodyView);
return;
}
var waitPage = new Loading();
bodyView.AddChidren(waitPage);
waitPage.Start(Language.StringByID(StringId.PleaseWait));
new Thread(() =>
{
try
{
var responsePack = new HttpServerRequest().EditSubAccountNickName(str, mInfo.childAccountId);
if (responsePack.Code.ToUpper() == StateCode.SUCCESS)
{
Application.RunOnMainThread(() =>
{
btn1.Text = str;
});
mInfo.nickName = str;
}
else
{
IMessageCommon.Current.ShowErrorInfoAlter(responsePack.Code);
}
}
catch (Exception ex)
{
MainPage.Log($"update user name error : {ex.Message}");
}
finally
{
Application.RunOnMainThread(() =>
{
if (waitPage != null)
{
waitPage.RemoveFromParent();
waitPage = null;
}
});
}
})
{ IsBackground = true }.Start();
};
new PublicAssmebly().LoadDialog_EditParater(StringId.ModifyMemberNickname, mInfo.nickName, callBack, StringId.NicknameCannotBeEmpty, 0, new List());
};
btn1.MouseUpEventHandler = eventHandler;
btn2.MouseUpEventHandler = eventHandler;
}
///
/// 修改创建场景权限
///
void LoadView_ChangeCreateSceneState(Button btn1, Button btn2, ResidenceMemberInfo mInfo)
{
EventHandler eventHandler = (sender, e) =>
{
new Thread(() =>
{
try
{
bool isAllow = !btn1.IsSelected;
var responsePack = new HttpServerRequest().ChangeCreateSceneState(isAllow, mInfo.childAccountId);
if (responsePack.Code.ToUpper() == StateCode.SUCCESS)
{
Application.RunOnMainThread(() =>
{
btn1.IsSelected = isAllow;
});
}
else
{
IMessageCommon.Current.ShowErrorInfoAlter(responsePack.Code);
}
}
catch (Exception ex)
{
MainPage.Log($"update user name error : {ex.Message}");
}
finally
{
//Application.RunOnMainThread(() =>
//{
// waitPage.Hide();
//});
}
})
{ IsBackground = true }.Start();
};
btn1.MouseUpEventHandler = eventHandler;
btn2.MouseUpEventHandler = eventHandler;
}
}
}