| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Threading; |
| | | using HDL_ON.DAL; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.Entity; |
| | |
| | | void LoadEventList() |
| | | { |
| | | LoadEvent_AllSharedDataChange(); |
| | | LoadEvent_OptionClick(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 更新共享数据点击事件 |
| | | /// 底部操作按钮点击事件 |
| | | /// </summary> |
| | | void LoadEvent_EditShareData() |
| | | void LoadEvent_OptionClick() |
| | | { |
| | | if (memberInfo.CurShareData.ShareName == "") |
| | | btnOption.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var ssdd = new ShareData(); |
| | | ssdd.ShareName = DB_ResidenceData.residenceData.residecenInfo.RegionID; |
| | | ssdd.HouseDistributedMark = DB_ResidenceData.residenceData.residecenInfo.RegionID; |
| | | ssdd.ShareDataBytes = CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(funs)); |
| | | ssdd.SubAccountDistributedMark = memberInfo.SubAccountDistributedMark; |
| | | ResponsePack responePack = new HttpServerRequest().AddShareData(ssdd); |
| | | if (responePack.StateCode.ToUpper() != "SUCCESS") |
| | | if (titleId == StringId.PermissionToUse)//从个人中心进入单独分享 |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.OperationFailed), true); |
| | | return; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | bool result = false; |
| | | Action act = () => { }; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait)); |
| | | }); |
| | | foreach (var f in funs_Del) |
| | | { |
| | | LoadMethod_DelSharedData(f); |
| | | } |
| | | foreach (var f in funs_New) |
| | | { |
| | | var sd = funs.Find((obj) => obj.ShareName == f.ShareName); |
| | | //如果该功能已经分享,更新原有的数据 |
| | | if (null != sd) |
| | | { |
| | | sd.ShareDataBytes = CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f)); |
| | | result = EditShareData(sd); |
| | | } |
| | | else//如果该功能未被分享,则新增分享 |
| | | { |
| | | 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(() => |
| | | { |
| | | MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1); |
| | | refreshFunctionCount?.Invoke(funs_New.Count.ToString()); |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | else |
| | | { |
| | | ssdd.DistributedMark = responePack.ResponseData.ToString(); |
| | | //var sharedBytes = CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(funs_New)); |
| | | var page = new ChooseShareMemberTargetListPage(funs_New); |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | memberInfo.CurShareData = ssdd; |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 新增共享数据点击事件 |
| | | /// </summary> |
| | | bool LoadMethod_AddShareData(ShareData ssdd) |
| | | { |
| | | //增加共享数据目录 |
| | | ResponsePack responePack = new HttpServerRequest().AddShareData(ssdd); |
| | | if (responePack.StateCode.ToUpper() != "SUCCESS") |
| | | { |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | UpdataShareData(); |
| | | ssdd.DistributedMark = responePack.ResponseData.ToString(); |
| | | // 更新共享数据 |
| | | return EditShareData(ssdd); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 删除共享数据点击事件 |
| | | /// </summary> |
| | | /// <param name="function"></param> |
| | | bool LoadMethod_DelSharedData(ShareData sd) |
| | | { |
| | | ResponsePack responePack = new HttpServerRequest().DeleteShareData(sd); |
| | | if (responePack.StateCode.ToUpper() != "SUCCESS") |
| | | { |
| | | return false; |
| | | }else |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新共享数据 |
| | | /// </summary> |
| | | void UpdataShareData() |
| | | bool EditShareData(ShareData sd) |
| | | { |
| | | ResponsePack responePack = new HttpServerRequest().EditShareData(memberInfo.CurShareData); |
| | | ResponsePack responePack = new HttpServerRequest().EditShareData(sd); |
| | | if (responePack.StateCode.ToUpper() == "SUCCESS") |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.SavedSuccessfully), true); |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.OperationFailed), true); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | void LoadEvent_SharedDataChange(Button btnChoose, Button btn2, FrameLayout btn3, Entity.Function function) |
| | | void LoadMethod_SharedDataChange(Button btnChoose, Button btn2, FrameLayout btn3, Function function) |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | btnChoose.IsSelected = !btnChoose.IsSelected; |
| | | var sd = funs.Find((obj) => obj.ShareName == function.sid); |
| | | if (btnChoose.IsSelected) |
| | | { |
| | | try |
| | | { |
| | | funs.Add(function); |
| | | if (null != sd) |
| | | { |
| | | if (!funs_New.Contains(sd)) |
| | | { |
| | | funs_New.Add(sd); |
| | | } |
| | | if (funs_Del.Contains(sd)) |
| | | { |
| | | funs_Del.Remove(sd); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var newSd = new ShareData(); |
| | | newSd.ShareName = function.sid; |
| | | newSd.HouseDistributedMark = DB_ResidenceData.residenceData.residecenInfo.RegionID; |
| | | newSd.ShareDataBytes = CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(function)); |
| | | newSd.SubAccountDistributedMark = memberInfo.SubAccountDistributedMark; |
| | | funs_New.Add(newSd); |
| | | } |
| | | btnChooseAll.IsSelected = true; |
| | | foreach (var f in room.functions) |
| | | { |
| | | if (funs_New.Find((obj) => obj.ShareName == f.sid) == null) |
| | | { |
| | | btnChooseAll.IsSelected = false; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | funs.Remove(function); |
| | | var onFuns = funs_New.Find((obj) => obj.ShareName == function.sid); |
| | | if (funs_New.Contains(onFuns)) |
| | | { |
| | | funs_New.Remove(onFuns); |
| | | } |
| | | |
| | | if (null != sd) |
| | | { |
| | | if (!funs_Del.Contains(sd)) |
| | | { |
| | | funs_Del.Add(sd); |
| | | } |
| | | } |
| | | btnChooseAll.IsSelected = false; |
| | | } |
| | | }; |
| | | btnChoose.MouseUpEventHandler = eventHandler; |
| | | btn2.MouseUpEventHandler = eventHandler; |
| | | btn3.MouseUpEventHandler = eventHandler; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 全选按钮点击事件 |
| | | /// </summary> |
| | | void LoadEvent_AllSharedDataChange() |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | btnChooseAll.IsSelected = !btnChooseAll.IsSelected; |
| | | funs.Clear(); |
| | | funs = new System.Collections.Generic.List<Function>(); |
| | | funs_Del = new List<ShareData>(); |
| | | funs_New = new List<ShareData>(); |
| | | if (btnChooseAll.IsSelected) |
| | | { |
| | | funs.AddRange( room.functions); |
| | | foreach(var f in room.functions) |
| | | { |
| | | var ssdd = new ShareData(); |
| | | ssdd.ShareName = f.sid; |
| | | ssdd.HouseDistributedMark = DB_ResidenceData.residenceData.residecenInfo.RegionID; |
| | | ssdd.ShareDataBytes = CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f)); |
| | | ssdd.SubAccountDistributedMark = memberInfo.SubAccountDistributedMark; |
| | | funs_New.Add(ssdd); |
| | | } |
| | | } |
| | | LoadFunctionRow(); |
| | | else |
| | | { |
| | | foreach(var f in room.functions) |
| | | { |
| | | var sd = funs.Find((obj) => obj.ShareName == f.sid); |
| | | if (sd != null) |
| | | { |
| | | funs_Del.Add(sd); |
| | | } |
| | | } |
| | | } |
| | | LoadFunctionRow(funs_New); |
| | | }; |
| | | btnChooseAll.MouseUpEventHandler = eventHandler; |
| | | allRoomView.MouseUpEventHandler = eventHandler; |
| | | |
| | | } |
| | | |
| | | } |
| | | } |