using System;
|
using System.Collections.Generic;
|
using System.Threading;
|
using HDL_ON.DAL;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.Entity;
|
using Shared;
|
namespace HDL_ON.UI
|
{
|
public partial class MemberFunctionPermissionPage
|
{
|
void LoadEventList()
|
{
|
LoadEvent_AllSharedDataChange();
|
LoadEvent_OptionClick();
|
}
|
|
/// <summary>
|
/// 底部操作按钮点击事件
|
/// </summary>
|
void LoadEvent_OptionClick()
|
{
|
btnOption.MouseUpEventHandler = (sender, e) =>
|
{
|
if (titleId == StringId.PermissionToUse)//从个人中心进入单独分享
|
{
|
new 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.shareTypeId == f.shareTypeId);
|
// //如果该功能已经分享,更新原有的数据
|
// if (null != sd)
|
// {
|
// sd.ShareDataBytes = System.Text.Encoding.UTF8.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);
|
// });
|
// }
|
//}
|
|
//1.批量删除分享
|
var deleteShareObj = new DeleteShareObj() {
|
shareDatas = funs_Del,
|
homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
|
};
|
LoadMethod_DelSharedData(deleteShareObj);
|
|
//2.批量上传
|
var funs_NeedAdd = new List<ShareData>();
|
foreach (var f in funs_New)
|
{
|
var sd = funs.Find((obj) => obj.shareTypeId == f.shareTypeId);
|
//如果该功能已经分享,更新原有的数据
|
if (null == sd)
|
{
|
funs_NeedAdd.Add(f);
|
}
|
}
|
|
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);
|
});
|
}
|
|
|
Application.RunOnMainThread(() =>
|
{
|
act();
|
});
|
if (result)
|
{
|
Application.RunOnMainThread(() =>
|
{
|
new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingSucceeded), true);
|
memberInfo.CurResidenceShareDate = funs_New;
|
});
|
Thread.Sleep(1600);
|
Application.RunOnMainThread(() =>
|
{
|
//MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1);
|
MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
|
refreshFunctionCount?.Invoke(funs_New.Count.ToString());
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
}
|
else
|
{
|
//var sharedBytes = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(funs_New));
|
//2020-12-01 屏蔽页面
|
//var page = new ChooseShareMemberTargetListPage(funs_New, memberInfo);
|
//MainPage.BasePageView.AddChidren(page);
|
//page.LoadPage();
|
//MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
}
|
};
|
}
|
|
/// <summary>
|
/// 新增共享数据点击事件
|
/// </summary>
|
bool LoadMethod_AddShareData(AddShareObj ssdd)
|
{
|
//增加共享数据目录
|
var responePack = new HttpServerRequest().AddShareData(ssdd);
|
if (responePack.Code != StateCode.SUCCESS)
|
{
|
return false;
|
}
|
else
|
{
|
return true;
|
//var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ShareData>(responePack.Data.ToString());
|
//ssdd.id = responeObj.id;
|
//// 更新共享数据
|
//return EditShareData(ssdd);
|
}
|
}
|
/// <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;
|
}
|
}
|
|
///// <summary>
|
///// 更新共享数据
|
///// </summary>
|
//bool EditShareData(ShareData sd)
|
//{
|
// var responePack = new HttpServerRequest().EditShareData(sd);
|
// if (responePack.Code == StateCode.SUCCESS)
|
// {
|
// return true;
|
// }
|
// else
|
// {
|
// return false;
|
// }
|
//}
|
|
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.shareTypeId == function.deviceId);
|
if (btnChoose.IsSelected)
|
{
|
try
|
{
|
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.shareTypeId = function.deviceId;
|
|
funs_New.Add(newSd);
|
}
|
btnChooseAll.IsSelected = true;
|
foreach (var f in room.GetRoomFunctions(false))
|
{
|
if (funs_New.Find((obj) => obj.shareTypeId == f.deviceId) == null)
|
{
|
btnChooseAll.IsSelected = false;
|
break;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"Evhaaa {ex.Message}");
|
}
|
}
|
else
|
{
|
var onFuns = funs_New.Find((obj) => obj.shareTypeId == function.deviceId);
|
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_Del = new List<ShareData>();
|
funs_New = new List<ShareData>();
|
if (btnChooseAll.IsSelected)
|
{
|
foreach(var f in room.GetRoomFunctions(false))
|
{
|
var ssdd = new ShareData();
|
ssdd.shareTypeId = f.deviceId;
|
funs_New.Add(ssdd);
|
}
|
}
|
else
|
{
|
foreach(var f in room.GetRoomFunctions(false))
|
{
|
var sd = funs.Find((obj) => obj.shareTypeId == f.deviceId);
|
if (sd != null)
|
{
|
funs_Del.Add(sd);
|
}
|
}
|
}
|
LoadFunctionRow(funs_New);
|
};
|
btnChooseAll.MouseUpEventHandler = eventHandler;
|
allRoomView.MouseUpEventHandler = eventHandler;
|
|
}
|
}
|
}
|