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;
|
ResponsePack responePack = new HttpServerRequest().GetResidenceMemberAccount();
|
if (responePack.StateCode.ToUpper() == "SUCCESS")
|
{
|
var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.ResponseData.ToString());
|
foreach (var mInfo in responeObj)
|
{
|
ResponsePack memberInfoResponePack = new HttpServerRequest().GetResidenceMemberAccountInfo(mInfo.Account);
|
var dataStr = JObject.FromObject(memberInfoResponePack.ResponseData);
|
FileStream fs = null;
|
try
|
{
|
var headImageString = dataStr.GetValue("HeadImage").ToString();
|
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.DistributedMark + ".png");
|
fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
|
fs.Write(headImageBytes, 0, headImageBytes.Length);
|
fs.Flush();
|
mInfo.headImagePagePath = filePath;
|
}
|
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
|
{
|
string tipStr = "Sever erorr";
|
switch (responePack.StateCode)
|
{
|
case "ValidCodeAndPhoneNoEqual":
|
tipStr = Language.StringByID(StringId.VerificationCodeError);
|
break;
|
case "USERNAMEORPWDERROR":
|
tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
|
break;
|
case "ACCOUNTNOEXISTS":
|
tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS);
|
break;
|
case "NoRecord":
|
tipStr = Language.StringByID(StringId.PlsGetTheVerificationCode);
|
break;
|
case "Self:Net_Error":
|
tipStr = Language.StringByID(StringId.NetworkAnomaly);
|
break;
|
}
|
//账号或者密码错误
|
Application.RunOnMainThread(() =>
|
{
|
waitPage.Hide();
|
//提示原因
|
var tip = new Tip()
|
{
|
Text = tipStr,
|
CloseTime = 3,
|
Direction = AMPopTipDirection.None
|
};
|
tip.Show(bodyView);
|
});
|
}
|
Application.RunOnMainThread(() =>
|
{
|
waitPage?.Hide();
|
});
|
return result;
|
}
|
|
/// <summary>
|
/// 获取住宅下子账号的共享数据列表
|
/// </summary>
|
/// <param name="info"></param>
|
void LoadMethod_GetMemberSharedDataList(ResidenceMemberInfo info)
|
{
|
ResponsePack responePack = new HttpServerRequest().GetShareDataByMemberAccount(info.SubAccountDistributedMark);
|
if (responePack.StateCode.ToUpper() == "SUCCESS")
|
{
|
var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ShareData>>(responePack.ResponseData.ToString());
|
info.CurResidenceShareDate = responeObj;
|
foreach (var sd in info.CurResidenceShareDate)
|
{
|
LoadMethod_GetMemberSharedData(sd);
|
}
|
}
|
}
|
|
/// <summary>
|
/// 获取住宅下子账号的共享数据
|
/// </summary>
|
/// <param name="info"></param>
|
bool LoadMethod_GetMemberSharedData(ShareData sd)
|
{
|
ResponsePack responePack = new HttpServerRequest().GetShareData(sd.DistributedMark,sd.HouseDistributedMark);
|
if (responePack.StateCode.ToUpper() == "SUCCESS")
|
{
|
sd.ShareDataBytes = Newtonsoft.Json.JsonConvert.DeserializeObject<ShareData>(responePack.ResponseData.ToString()).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 = 3,
|
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.SubAccountDistributedMark);
|
if (responsePack.StateCode.ToUpper() == "SUCCESS")
|
{
|
Application.RunOnMainThread(() =>
|
{
|
btn1.Text = str;
|
});
|
mInfo.Nickname = str;
|
}
|
else
|
{
|
var tipStr = "Server erorr";
|
switch (responsePack.StateCode)
|
{
|
case "NoLogin":
|
tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
|
break;
|
case "ParameterOrEmpty":
|
break;
|
}
|
Application.RunOnMainThread(() =>
|
{
|
//提示原因
|
var tip = new Tip()
|
{
|
Text = tipStr,
|
CloseTime = 3,
|
Direction = AMPopTipDirection.None
|
};
|
tip.Show(bodyView);
|
});
|
}
|
}
|
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
|
{
|
var responsePack = new HttpServerRequest().ChangeCreateSceneState(DB_ResidenceData.residenceData.residecenInfo.RegionID, mInfo.SubAccountDistributedMark);
|
if (responsePack.StateCode.ToUpper() == "SUCCESS")
|
{
|
Application.RunOnMainThread(() =>
|
{
|
btn1.IsSelected = !btn1.IsSelected;
|
});
|
}
|
else
|
{
|
var tipStr = "Server erorr";
|
switch (responsePack.StateCode)
|
{
|
case "NoLogin":
|
tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
|
break;
|
case "ParameterOrEmpty":
|
break;
|
}
|
Application.RunOnMainThread(() =>
|
{
|
//提示原因
|
var tip = new Tip()
|
{
|
Text = tipStr,
|
CloseTime = 3,
|
Direction = AMPopTipDirection.None
|
};
|
tip.Show(bodyView);
|
});
|
}
|
}
|
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;
|
|
}
|
|
}
|
}
|