| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Threading; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.Entity; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI |
| | |
| | | { |
| | | Action action = () => |
| | | { |
| | | var responePack = new HttpServerRequest().DeleteResidenceMemberAccount(memberInfo); |
| | | if (responePack.Code == StateCode.SUCCESS) |
| | | { |
| | | this.RemoveFromParent(); |
| | | backAction(); |
| | | } |
| | | RemoveTheMember(); |
| | | }; |
| | | new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.ConfirmToRemoveTheMember, action); |
| | | }; |
| | |
| | | var responePack = new HttpServerRequest().GetShareDataByMemberAccount(memberInfo.childAccountId); |
| | | if (responePack.Code == StateCode.SUCCESS) |
| | | { |
| | | if(responePack.Data != null) |
| | | if (responePack.Data != null) |
| | | { |
| | | var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ShareData>>(responePack.Data.ToString()); |
| | | memberInfo.CurResidenceShareDate = responeObj; |
| | | memberInfo.CurResidenceShareData = responeObj; |
| | | } |
| | | else |
| | | { |
| | | memberInfo.CurResidenceShareDate = new List<ShareData>(); |
| | | memberInfo.CurResidenceShareData = new List<ShareData>(); |
| | | } |
| | | |
| | | |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | ShowRoomListView(); |
| | |
| | | } |
| | | else |
| | | { |
| | | memberInfo.CurResidenceShareDate = new List<ShareData>(); |
| | | memberInfo.CurResidenceShareData = new List<ShareData>(); |
| | | IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code); |
| | | } |
| | | } |
| | |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除子账号 |
| | | /// </summary> |
| | | void RemoveTheMember() |
| | | { |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | var responePack = new HttpServerRequest().DeleteResidenceMemberAccount(memberInfo); |
| | | if (responePack.Code == StateCode.SUCCESS) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | this.RemoveFromParent(); |
| | | backAction(); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 一键删除当前房间所有分享 |
| | | /// </summary> |
| | | /// <param name="funs_Del">需要一键删除的分享数据</param> |
| | | /// <param name="roomFunctionList">当前房间所有功能列表</param> |
| | | /// <param name="roomId">如果房间ID为空,则代表管理无分配区域的功能,不需要删除房间分享</param> |
| | | /// <param name="btnFunctionCount">个数统计数量</param> |
| | | /// <param name="roomView">背景View</param> |
| | | void DeleteRoomAllShare(List<ShareData> funs_Del, List<Function> roomFunctionList, string roomId, Button btnFunctionCount, RowLayout roomView) |
| | | { |
| | | //需要删除的分享为0 |
| | | if (funs_Del == null || funs_Del.Count == 0) |
| | | { |
| | | //关闭右滑菜单 |
| | | roomView.HideMenu(); |
| | | Utlis.ShowTip(Language.StringByID(StringId.NoShare)); |
| | | return; |
| | | } |
| | | |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | |
| | | new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | bool result = false; |
| | | //如果房间ID为空,则代表管理无分配区域的功能,不需要删除房间分享 |
| | | if (!string.IsNullOrEmpty(roomId)) |
| | | { |
| | | //删除房间分享 |
| | | var success = DeleteShareRoom(roomId); |
| | | if (success) |
| | | { |
| | | Utlis.WriteLine("删除房间分享成功"); |
| | | } |
| | | else |
| | | { |
| | | Utlis.WriteLine("删除房间分享失败"); |
| | | } |
| | | } |
| | | |
| | | //2.批量删除分享 |
| | | var deleteShareObj = new DeleteShareObj() |
| | | { |
| | | shareDatas = funs_Del, |
| | | homeId = DB_ResidenceData.Instance.CurrentRegion.RegionID, |
| | | }; |
| | | result = LoadMethod_DelSharedData(deleteShareObj); |
| | | |
| | | if (!result) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.delFail), true); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | //删除分享成功 |
| | | //4.1管理最终的分享列表 |
| | | var funs_final = new List<ShareData>(); |
| | | funs_final.AddRange(memberInfo.CurResidenceShareData); |
| | | //4.2移除删除的 |
| | | foreach (var share_d in funs_Del) |
| | | { |
| | | var sd = funs_final.Find((obj) => obj.shareTypeId == share_d.shareTypeId); |
| | | //如果该功能已经分享,不用分享 |
| | | if (null != sd) |
| | | { |
| | | funs_final.Remove(share_d); |
| | | } |
| | | } |
| | | |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.SavedSuccessfully), true); |
| | | //清空 |
| | | funs_Del.Clear(); |
| | | memberInfo.CurResidenceShareData = funs_final; |
| | | btnFunctionCount.Text = 0 + "/" + roomFunctionList.Count.ToString(); |
| | | //关闭右滑菜单 |
| | | roomView.HideMenu(); |
| | | }); |
| | | |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除房间分享 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | bool DeleteShareRoom(string roomId) |
| | | { |
| | | var roomList = new List<ShareData>(); |
| | | roomList.Add(new ShareData() |
| | | { |
| | | shareType = ShareType.ROOM.ToString(), |
| | | shareTypeId = roomId |
| | | }); |
| | | |
| | | var deleteShareObj = new DeleteShareObj() |
| | | { |
| | | shareDatas = roomList, |
| | | homeId = DB_ResidenceData.Instance.CurrentRegion.RegionID, |
| | | }; |
| | | var responePack = new HttpServerRequest().DeleteShareData(deleteShareObj); |
| | | if (responePack.Code != StateCode.SUCCESS) |
| | | { |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除共享数据点击事件 |
| | | /// </summary> |
| | | /// <param name="function"></param> |
| | | bool LoadMethod_DelSharedData(DeleteShareObj sd) |
| | | { |
| | | var responePack = new HttpServerRequest().DeleteShareData(sd); |
| | | if (responePack.Code != StateCode.SUCCESS) |
| | | { |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |