HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs
@@ -32,31 +32,70 @@
                        {
                            act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait));
                        });
                        foreach (var f in funs_Del)
                        {
                            LoadMethod_DelSharedData(f);
                        }
                        //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.fileName == f.fileName);
                            var sd = funs.Find((obj) => obj.shareTypeId == f.shareTypeId);
                            //如果该功能已经分享,更新原有的数据
                            if (null != sd)
                            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);
                                });
                                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();
@@ -82,10 +121,11 @@
                else
                {
                    //var sharedBytes = System.Text.Encoding.UTF8.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;
                    //2020-12-01 屏蔽页面
                    //var page = new ChooseShareMemberTargetListPage(funs_New, memberInfo);
                    //MainPage.BasePageView.AddChidren(page);
                    //page.LoadPage();
                    //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
            };
        }
@@ -93,7 +133,7 @@
        /// <summary>
        /// 新增共享数据点击事件
        /// </summary>
        bool LoadMethod_AddShareData(ShareData ssdd)
        bool LoadMethod_AddShareData(AddShareObj ssdd)
        {
            //增加共享数据目录
            var responePack = new HttpServerRequest().AddShareData(ssdd);
@@ -103,17 +143,18 @@
            }
            else
            {
                var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ShareData>(responePack.Data.ToString());
                ssdd.id = responeObj.id;
                // 更新共享数据
                return EditShareData(ssdd);
                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(ShareData sd)
        bool LoadMethod_DelSharedData(DeleteShareObj sd)
        {
            var responePack = new HttpServerRequest().DeleteShareData(sd);
            if (responePack.Code != StateCode.SUCCESS)
@@ -126,28 +167,28 @@
            }
        }
        /// <summary>
        /// 更新共享数据
        /// </summary>
        bool EditShareData(ShareData sd)
        {
            var responePack = new HttpServerRequest().EditShareData(sd);
            if (responePack.Code == StateCode.SUCCESS)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        ///// <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.fileName == function.sid);
                var sd = funs.Find((obj) => obj.shareTypeId == function.deviceId);
                if (btnChoose.IsSelected)
                {
                    try
@@ -166,16 +207,14 @@
                        else
                        {
                            var newSd = new ShareData();
                            newSd.fileName = function.sid;
                            newSd.homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID;
                            newSd.ShareDataBytes = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(function));
                            newSd.childAccountId = memberInfo.childAccountId;
                            newSd.shareTypeId = function.deviceId;
                            funs_New.Add(newSd);
                        }
                        btnChooseAll.IsSelected = true;
                        foreach (var f in room.GetRoomFunctions(false))
                        {
                            if (funs_New.Find((obj) => obj.fileName == f.sid) == null)
                            if (funs_New.Find((obj) => obj.shareTypeId == f.deviceId) == null)
                            {
                                btnChooseAll.IsSelected = false;
                                break;
@@ -189,7 +228,7 @@
                }
                else
                {
                    var onFuns = funs_New.Find((obj) => obj.fileName == function.sid);
                    var onFuns = funs_New.Find((obj) => obj.shareTypeId == function.deviceId);
                    if (funs_New.Contains(onFuns))
                    {
                        funs_New.Remove(onFuns);
@@ -224,10 +263,7 @@
                    foreach(var f in room.GetRoomFunctions(false))
                    {
                        var ssdd = new ShareData();
                        ssdd.fileName = f.sid;
                        ssdd.homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID;
                        ssdd.ShareDataBytes = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f));
                        ssdd.childAccountId = memberInfo.childAccountId;
                        ssdd.shareTypeId = f.deviceId;
                        funs_New.Add(ssdd);
                    }
                }
@@ -235,7 +271,7 @@
                {
                    foreach(var f in room.GetRoomFunctions(false))
                    {
                        var sd = funs.Find((obj) => obj.fileName == f.sid);
                        var sd = funs.Find((obj) => obj.shareTypeId == f.deviceId);
                        if (sd != null)
                        {
                            funs_Del.Add(sd);