| | |
| | | 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; |
| | | //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 ChooseShareMemberTargetListPage |
| | | { |
| | | /// <summary> |
| | | /// 加载获取住宅子账号信息线程 |
| | | /// </summary> |
| | | Thread LoadThread_GetResidenceMemberAccount() |
| | | { |
| | | var thread = new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | memberList.Clear(); |
| | | var loginResult = LoadMethod_GetResidenceMemberAccount(); |
| | | if (loginResult) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | LoadMemberRow(); |
| | | }); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"LoadThread_GetResidenceMemberAccount 2 : {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }; |
| | | return thread; |
| | | } |
| | | //namespace HDL_ON.UI |
| | | //{ |
| | | // public partial class ChooseShareMemberTargetListPage |
| | | // { |
| | | // /// <summary> |
| | | // /// 加载获取住宅子账号信息线程 |
| | | // /// </summary> |
| | | // Thread LoadThread_GetResidenceMemberAccount() |
| | | // { |
| | | // var thread = new Thread(() => |
| | | // { |
| | | // try |
| | | // { |
| | | // memberList.Clear(); |
| | | // var loginResult = LoadMethod_GetResidenceMemberAccount(); |
| | | // if (loginResult) |
| | | // { |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // LoadMemberRow(); |
| | | // }); |
| | | // } |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // MainPage.Log($"LoadThread_GetResidenceMemberAccount 2 : {ex.Message}"); |
| | | // } |
| | | // finally |
| | | // { |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // if (waitPage != null) |
| | | // { |
| | | // waitPage.RemoveFromParent(); |
| | | // waitPage = null; |
| | | // } |
| | | // }); |
| | | // } |
| | | // }) |
| | | // { IsBackground = true }; |
| | | // return thread; |
| | | // } |
| | | |
| | | /// <summary> |
| | | /// 更改分享成员列表 |
| | | /// </summary> |
| | | EventHandler<MouseEventArgs> LoadEvent_ChangeSharedList(Button btnChosse, ResidenceMemberInfo info) |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | btnChosse.IsSelected = !btnChosse.IsSelected; |
| | | if (btnChosse.IsSelected) |
| | | { |
| | | if (!memberList.Contains(info)) |
| | | { |
| | | memberList.Add(info); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (memberList.Contains(info)) |
| | | { |
| | | memberList.Remove(info); |
| | | } |
| | | } |
| | | }; |
| | | return eventHandler; |
| | | } |
| | | // /// <summary> |
| | | // /// 更改分享成员列表 |
| | | // /// </summary> |
| | | // EventHandler<MouseEventArgs> LoadEvent_ChangeSharedList(Button btnChosse, ResidenceMemberInfo info) |
| | | // { |
| | | // EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | // { |
| | | // btnChosse.IsSelected = !btnChosse.IsSelected; |
| | | // if (btnChosse.IsSelected) |
| | | // { |
| | | // if (!memberList.Contains(info)) |
| | | // { |
| | | // memberList.Add(info); |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // if (memberList.Contains(info)) |
| | | // { |
| | | // memberList.Remove(info); |
| | | // } |
| | | // } |
| | | // }; |
| | | // return eventHandler; |
| | | // } |
| | | |
| | | /// <summary> |
| | | /// 分享数据 |
| | | /// </summary> |
| | | void LoadEvent_SharedData() |
| | | { |
| | | btnOption.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | new Thread(() => |
| | | { |
| | | bool result = false; |
| | | Action act = () => { }; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait)); |
| | | }); |
| | | foreach (var member in memberList) |
| | | { |
| | | foreach (var f in addFuns) |
| | | { |
| | | var sd = member.CurResidenceShareDate.Find((obj) => obj.fileName == f.fileName); |
| | | //如果该功能已经分享,更新原有的数据 |
| | | if (null != sd) |
| | | { |
| | | sd.ShareDataBytes = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f)); |
| | | result = EditShareData(sd); |
| | | } |
| | | else//如果该功能未被分享,则新增分享 |
| | | { |
| | | f.childAccountId = member.childAccountId; |
| | | result = LoadMethod_AddShareData(f); |
| | | } |
| | | if (!result) |
| | | { |
| | | Application.RunOnMainThread(() => { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingFailed), true); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | act(); |
| | | }); |
| | | if (result) |
| | | { |
| | | Application.RunOnMainThread(() => { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingSucceeded), true); |
| | | }); |
| | | Thread.Sleep(1600); |
| | | Application.RunOnMainThread(() => { |
| | | for (int i = 0; i < 3; i++) |
| | | { |
| | | //MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1); |
| | | MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | }; |
| | | } |
| | | // /// <summary> |
| | | // /// 分享数据 |
| | | // /// </summary> |
| | | // void LoadEvent_SharedData() |
| | | // { |
| | | // btnOption.MouseUpEventHandler = (sender, e) => |
| | | // { |
| | | // new Thread(() => |
| | | // { |
| | | // bool result = false; |
| | | // Action act = () => { }; |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait)); |
| | | // }); |
| | | // //foreach (var member in memberList) |
| | | // //{ |
| | | // // foreach (var f in addFuns) |
| | | // // { |
| | | // // var sd = member.CurResidenceShareDate.Find((obj) => obj.shareTypeId == f.shareTypeId); |
| | | // // //如果该功能已经分享,更新原有的数据 |
| | | // // if (null != sd) |
| | | // // { |
| | | // // sd.ShareDataBytes = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f)); |
| | | // // result = EditShareData(sd); |
| | | // // } |
| | | // // else//如果该功能未被分享,则新增分享 |
| | | // // { |
| | | // // f.childAccountId = member.childAccountId; |
| | | // // result = LoadMethod_AddShareData(f); |
| | | // // } |
| | | // // if (!result) |
| | | // // { |
| | | // // Application.RunOnMainThread(() => { |
| | | // // new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingFailed), true); |
| | | // // }); |
| | | // // } |
| | | // // } |
| | | // //} |
| | | |
| | | /// <summary> |
| | | /// 新增共享数据点击事件 |
| | | /// </summary> |
| | | bool LoadMethod_AddShareData(ShareData ssdd) |
| | | { |
| | | //增加共享数据目录 |
| | | var responePack = new HttpServerRequest().AddShareData(ssdd); |
| | | if (responePack.Code.ToUpper() != "SUCCESS") |
| | | { |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | //ssdd.id = responePack.ResponseData.ToString(); |
| | | var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ShareData>(responePack.Data.ToString()); |
| | | ssdd.id = responeObj.id; |
| | | //2020-11-22 |
| | | return true; |
| | | //// 更新共享数据 |
| | | //return EditShareData(ssdd); |
| | | } |
| | | } |
| | | // //2.批量上传 |
| | | // var funs_NeedAdd = new List<ShareData>(); |
| | | // foreach (var member in memberList) |
| | | // { |
| | | // foreach (var f in addFuns) |
| | | // { |
| | | // var sd = member.CurResidenceShareDate.Find((obj) => obj.shareTypeId == f.shareTypeId); |
| | | // //如果该功能已经分享,更新原有的数据 |
| | | // if (null == sd) |
| | | // { |
| | | // funs_NeedAdd.Add(sd); |
| | | // } |
| | | |
| | | // } |
| | | // } |
| | | |
| | | // List<string> childAccountIds = new List<string>(); |
| | | // childAccountIds.Add(memberInfo.childAccountId); |
| | | // var addShareObj = new AddShareObj() |
| | | // { |
| | | // shareDatas = funs_NeedAdd, |
| | | // childAccountIds = childAccountIds, |
| | | // homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, |
| | | // }; |
| | | // result = LoadMethod_AddShareData(addShareObj); |
| | | // if (!result) |
| | | // { |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingFailed), true); |
| | | // }); |
| | | // } |
| | | |
| | | /// <summary> |
| | | /// 更新共享数据 |
| | | /// </summary> |
| | | bool EditShareData(ShareData sd) |
| | | { |
| | | var responePack = new HttpServerRequest().EditShareData(sd); |
| | | if (responePack.Code == StateCode.SUCCESS) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // act(); |
| | | // }); |
| | | // if (result) |
| | | // { |
| | | // Application.RunOnMainThread(() => { |
| | | // new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingSucceeded), true); |
| | | // }); |
| | | // Thread.Sleep(1600); |
| | | // Application.RunOnMainThread(() => { |
| | | // for (int i = 0; i < 3; i++) |
| | | // { |
| | | // //MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1); |
| | | // MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); |
| | | // } |
| | | // }); |
| | | // } |
| | | // }) |
| | | // { IsBackground = true }.Start(); |
| | | // }; |
| | | // } |
| | | |
| | | /// <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; |
| | | } |
| | | } |
| | | // /// <summary> |
| | | // /// 新增共享数据点击事件 |
| | | // /// </summary> |
| | | // bool LoadMethod_AddShareData(AddShareObj ssdd) |
| | | // { |
| | | // //增加共享数据目录 |
| | | // var responePack = new HttpServerRequest().AddShareData(ssdd); |
| | | // if (responePack.Code.ToUpper() != "SUCCESS") |
| | | // { |
| | | // return false; |
| | | // } |
| | | // else |
| | | // { |
| | | // return true; |
| | | // } |
| | | // } |
| | | |
| | | /// <summary> |
| | | /// 调用获取住宅子账号信息 |
| | | /// </summary> |
| | | bool LoadMethod_GetResidenceMemberAccount() |
| | | { |
| | | var result = false; |
| | | var responePack = new HttpServerRequest().GetResidenceMemberAccount(); |
| | | if (responePack.Code == StateCode.SUCCESS) |
| | | { |
| | | memberList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.Data.ToString()); |
| | | foreach (var mInfo in memberList) |
| | | { |
| | | ResponsePack memberInfoResponePack = new HttpServerRequest().GetResidenceMemberAccountInfo(mInfo.childAccountId); |
| | | 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.childAccountId + ".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); |
| | | } |
| | | } |
| | | result = true; |
| | | } |
| | | //失败 |
| | | else |
| | | { |
| | | //提示 |
| | | IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code); |
| | | //账号或者密码错误 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.Hide(); |
| | | }); |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage?.Hide(); |
| | | }); |
| | | return result; |
| | | } |
| | | // ///// <summary> |
| | | // ///// 更新共享数据 |
| | | // ///// </summary> |
| | | // //bool EditShareData(ShareData sd) |
| | | // //{ |
| | | // // var responePack = new HttpServerRequest().EditShareData(sd); |
| | | // // if (responePack.Code == StateCode.SUCCESS) |
| | | // // { |
| | | // // return true; |
| | | // // } |
| | | // // else |
| | | // // { |
| | | // // return false; |
| | | // // } |
| | | // //} |
| | | |
| | | } |
| | | } |
| | | // /// <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; |
| | | // } |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// 调用获取住宅子账号信息 |
| | | // /// </summary> |
| | | // bool LoadMethod_GetResidenceMemberAccount() |
| | | // { |
| | | // var result = false; |
| | | // var responePack = new HttpServerRequest().GetResidenceMemberAccount(); |
| | | // if (responePack.Code == StateCode.SUCCESS) |
| | | // { |
| | | // memberList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.Data.ToString()); |
| | | // foreach (var mInfo in memberList) |
| | | // { |
| | | // ResponsePack memberInfoResponePack = new HttpServerRequest().GetResidenceMemberAccountInfo(mInfo.childAccountId); |
| | | // 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.childAccountId + ".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); |
| | | // } |
| | | // } |
| | | // result = true; |
| | | // } |
| | | // //失败 |
| | | // else |
| | | // { |
| | | // //提示 |
| | | // IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code); |
| | | // //账号或者密码错误 |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // waitPage.Hide(); |
| | | // }); |
| | | // } |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // waitPage?.Hide(); |
| | | // }); |
| | | // return result; |
| | | // } |
| | | |
| | | // } |
| | | //} |