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()
|
{
|
|
|
}
|
|
/// <summary>
|
/// 加载获取住宅子账号信息线程
|
/// </summary>
|
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;
|
}
|
|
/// <summary>
|
/// 调用获取住宅子账号信息
|
/// </summary>
|
bool LoadMethod_GetResidenceMemberAccount()
|
{
|
var result = false;
|
var responePack = new HttpServerRequest().GetResidenceMemberAccount();
|
if (responePack.Code == StateCode.SUCCESS)
|
{
|
var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.Data.ToString());
|
foreach (var mInfo in responeObj)
|
{
|
//ResponsePack memberInfoResponePack = new HttpServerRequest().GetResidenceMemberAccountInfo(mInfo.childAccountId);
|
//var dataStr = JObject.FromObject(memberInfoResponePack.ResponseData);
|
//FileStream fs = null;
|
try
|
{
|
//var headImageString = dataStr.GetValue("HeadImage").ToString();
|
//if (!string.IsNullOrEmpty(headImageString))
|
//{
|
// var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(headImageString);
|
// var headImageBytes = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]>(jsonString);
|
// var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/", mInfo.childAccountId + ".png");
|
// fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
|
// fs.Write(headImageBytes, 0, headImageBytes.Length);
|
// fs.Flush();
|
// mInfo.headImagePagePath = filePath;
|
//}
|
if(string.IsNullOrEmpty(mInfo.nickName))
|
{
|
mInfo.nickName = mInfo.UserName;
|
}
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"download headImage error : {ex.Message}");
|
}
|
finally
|
{
|
//if (fs != null)
|
//{
|
// fs.Close();
|
//}
|
////-----------获取住宅下子账号的共享数据列表
|
LoadMethod_GetMemberSharedDataList(mInfo);
|
}
|
residenceMemberInfos.Add(mInfo);
|
}
|
result = true;
|
}
|
//失败
|
else
|
{
|
//提示
|
IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
|
//账号或者密码错误
|
Application.RunOnMainThread(() =>
|
{
|
waitPage.Hide();
|
});
|
}
|
Application.RunOnMainThread(() =>
|
{
|
waitPage?.Hide();
|
});
|
return result;
|
}
|
|
/// <summary>
|
/// 获取住宅下子账号的共享数据列表
|
/// </summary>
|
/// <param name="info"></param>
|
void LoadMethod_GetMemberSharedDataList(ResidenceMemberInfo info)
|
{
|
var responePack = new HttpServerRequest().GetShareDataByMemberAccount(info.childAccountId);
|
if (responePack.Code == StateCode.SUCCESS)
|
{
|
var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ShareData>>(responePack.Data.ToString());
|
info.CurResidenceShareDate = responeObj;
|
foreach (var sd in info.CurResidenceShareDate)
|
{
|
LoadMethod_GetMemberSharedData(sd);
|
}
|
}
|
}
|
|
/// <summary>
|
/// 获取住宅下子账号的共享数据
|
/// </summary>
|
/// <param name="info"></param>
|
bool LoadMethod_GetMemberSharedData(ShareData sd)
|
{
|
var shareDataBytes = new HttpServerRequest().GetShareData(sd);
|
if (shareDataBytes != null)
|
{
|
sd.ShareDataBytes = shareDataBytes;
|
return true;
|
}
|
return false;
|
}
|
|
/// <summary>
|
/// 修改昵称窗口
|
/// </summary>
|
void LoadView_EidtNickname(Button btn1, Button btn2, ResidenceMemberInfo mInfo)
|
{
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
Action<string> 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();
|
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(() =>
|
{
|
waitPage.Hide();
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
};
|
new PublicAssmebly().LoadDialog_EditParater(StringId.ModifyMemberNickname, mInfo.nickName, callBack, StringId.HouseNameCannotBeEmpty, 0, new List<string>());
|
};
|
btn1.MouseUpEventHandler = eventHandler;
|
btn2.MouseUpEventHandler = eventHandler;
|
}
|
|
/// <summary>
|
/// 修改创建场景权限
|
/// </summary>
|
void LoadView_ChangeCreateSceneState(Button btn1, Button btn2, ResidenceMemberInfo mInfo)
|
{
|
EventHandler<MouseEventArgs> 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;
|
|
}
|
}
|
}
|