From 5ea6aa8ea047d4d7b6137fa86c03109aeb1b67ff Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 18 十二月 2020 18:03:18 +0800
Subject: [PATCH] Merge branch 'CJL' into NewFilePath

---
 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs |  143 ++++++++++++++++++++++++++++-------------------
 1 files changed, 85 insertions(+), 58 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs
index eba16f4..ee44a30 100755
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs
@@ -22,19 +22,31 @@
         {
             btnOption.MouseUpEventHandler = (sender, e) =>
             {
-                if (titleId == StringId.PermissionToUse)//浠庝釜浜轰腑蹇冭繘鍏ュ崟鐙垎浜�
+                Action action = () =>
                 {
                     UploadShareDeviceList();
-                }
-                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;
-                }
+                };
+                //鏄惁闇�瑕佷繚瀛�
+                new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.IfNeedToSave, action);
+
+                //if (titleId == StringId.PermissionToUse)//浠庝釜浜轰腑蹇冭繘鍏ュ崟鐙垎浜�
+                //{
+                //    Action action = () =>
+                //    {
+                //        UploadShareDeviceList();
+                //    };
+                //    //鏄惁闇�瑕佷繚瀛�
+                //    new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.IfNeedToSave, action);
+                //}
+                //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;
+                //}
             };
         }
 
@@ -55,32 +67,12 @@
                         act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait));
                     });
 
-                    //1.绠$悊鏈�缁堝睘浜庢埧闂寸殑鍒嗕韩
-                    if (funs_New != null && funs_New.Count > 0)
+                    if (!string.IsNullOrEmpty(roomId))
                     {
-                        //鏈�缁堝睘浜庢埧闂寸殑鍒嗕韩澶т簬0
-                        var success = ShareRoom();
-                        if (success)
-                        {
-                            Utlis.WriteLine("娣诲姞鎴块棿鍒嗕韩鎴愬姛");
-                        }
-                        else
-                        {
-                            Utlis.WriteLine("娣诲姞鎴块棿鍒嗕韩澶辫触");
-                        }
+                        //濡傛灉鎴块棿ID涓嶄负绌猴紝绠$悊鎴块棿
+                        ManageRoomSharing();
                     }
-                    else
-                    {
-                        var success = DeleteShareRoom();
-                        if (success)
-                        {
-                            Utlis.WriteLine("鍒犻櫎鎴块棿鍒嗕韩鎴愬姛");
-                        }
-                        else
-                        {
-                            Utlis.WriteLine("鍒犻櫎鎴块棿鍒嗕韩澶辫触");
-                        }
-                    }
+                  
 
                     //2.鎵归噺鍒犻櫎鍒嗕韩
                     var deleteShareObj = new DeleteShareObj()
@@ -92,9 +84,9 @@
 
                     //3.鎵归噺涓婁紶
                     var funs_NeedAdd = new List<ShareData>();
-                    foreach (var f in funs_New)
+                    foreach (var f in funs_RoomAll)
                     {
-                        var sd = funs.Find((obj) => obj.shareTypeId == f.shareTypeId);
+                        var sd = curResidenceShareData.Find((obj) => obj.shareTypeId == f.shareTypeId);
                         //濡傛灉璇ュ姛鑳藉凡缁忓垎浜紝涓嶇敤鍒嗕韩
                         if (null == sd)
                         {
@@ -128,7 +120,7 @@
                     {
                         //4.1绠$悊鏈�缁堢殑鍒嗕韩鍒楄〃
                         var funs_final = new List<ShareData>();
-                        funs_final.AddRange(funs);
+                        funs_final.AddRange(curResidenceShareData);
                         //4.2绉婚櫎鍒犻櫎鐨�
                         foreach (var share_d in funs_Del)
                         {
@@ -145,14 +137,13 @@
                         Application.RunOnMainThread(() =>
                         {
                             new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingSucceeded), true);
-                            memberInfo.CurResidenceShareDate = funs_final;
+                            memberInfo.CurResidenceShareData = funs_final;
                         });
                         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());
+                            refreshAction?.Invoke();
                         });
                     }
                 }
@@ -203,6 +194,42 @@
         }
 
         /// <summary>
+        /// 绠$悊鎴块棿鍒嗕韩鎿嶄綔
+        /// funs_New 澶т簬1鍒嗕韩鎴块棿
+        /// </summary>
+        bool ManageRoomSharing()
+        {
+            bool success = false;
+            //1.绠$悊鏈�缁堝睘浜庢埧闂寸殑鍒嗕韩
+            if (funs_RoomAll != null && funs_RoomAll.Count > 0)
+            {
+                //鏈�缁堝睘浜庢埧闂寸殑鍒嗕韩澶т簬0
+                success = ShareRoom();
+                if (success)
+                {
+                    Utlis.WriteLine("娣诲姞鎴块棿鍒嗕韩鎴愬姛");
+                }
+                else
+                {
+                    Utlis.WriteLine("娣诲姞鎴块棿鍒嗕韩澶辫触");
+                }
+            }
+            else
+            {
+                success = DeleteShareRoom();
+                if (success)
+                {
+                    Utlis.WriteLine("鍒犻櫎鎴块棿鍒嗕韩鎴愬姛");
+                }
+                else
+                {
+                    Utlis.WriteLine("鍒犻櫎鎴块棿鍒嗕韩澶辫触");
+                }
+            }
+            return success;
+        }
+
+        /// <summary>
         /// 鍒嗕韩鎴块棿
         /// </summary>
         /// <returns></returns>
@@ -212,7 +239,7 @@
             roomList.Add(new ShareData()
             {
                 shareType = ShareType.ROOM.ToString(),
-                shareTypeId = room.roomId
+                shareTypeId = roomId
             });
             List<string> childAccountIds = new List<string>();
             childAccountIds.Add(memberInfo.childAccountId);
@@ -243,7 +270,7 @@
             roomList.Add(new ShareData()
             {
                 shareType = ShareType.ROOM.ToString(),
-                shareTypeId = room.roomId
+                shareTypeId = roomId
             });
 
             var deleteShareObj = new DeleteShareObj()
@@ -274,16 +301,16 @@
             EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
                 btnChoose.IsSelected = !btnChoose.IsSelected;
-                var sd = funs.Find((obj) => obj.shareTypeId == function.deviceId);
+                var sd = curResidenceShareData.Find((obj) => obj.shareTypeId == function.deviceId);
                 if (btnChoose.IsSelected)
                 {
                     try
                     {
                         if (null != sd)
                         {
-                            if (!funs_New.Contains(sd))
+                            if (!funs_RoomAll.Contains(sd))
                             {
-                                funs_New.Add(sd);
+                                funs_RoomAll.Add(sd);
                             }
                             if (funs_Del.Contains(sd))
                             {
@@ -295,12 +322,12 @@
                             var newSd = new ShareData();
                             newSd.shareTypeId = function.deviceId;
 
-                            funs_New.Add(newSd);
+                            funs_RoomAll.Add(newSd);
                         }
                         btnChooseAll.IsSelected = true;
-                        foreach (var f in room.GetRoomFunctions(false))
+                        foreach (var f in roomFunctionList)
                         {
-                            if (funs_New.Find((obj) => obj.shareTypeId == f.deviceId) == null)
+                            if (funs_RoomAll.Find((obj) => obj.shareTypeId == f.deviceId) == null)
                             {
                                 btnChooseAll.IsSelected = false;
                                 break;
@@ -314,10 +341,10 @@
                 }
                 else
                 {
-                    var onFuns = funs_New.Find((obj) => obj.shareTypeId == function.deviceId);
-                    if (funs_New.Contains(onFuns))
+                    var onFuns = funs_RoomAll.Find((obj) => obj.shareTypeId == function.deviceId);
+                    if (funs_RoomAll.Contains(onFuns))
                     {
-                        funs_New.Remove(onFuns);
+                        funs_RoomAll.Remove(onFuns);
                     }
 
                     if (null != sd)
@@ -344,28 +371,28 @@
             {
                 btnChooseAll.IsSelected = !btnChooseAll.IsSelected;
                 funs_Del = new List<ShareData>();
-                funs_New = new List<ShareData>();
+                funs_RoomAll = new List<ShareData>();
                 if (btnChooseAll.IsSelected)
                 {
-                    foreach (var f in room.GetRoomFunctions(false))
+                    foreach (var f in roomFunctionList)
                     {
                         var ssdd = new ShareData();
                         ssdd.shareTypeId = f.deviceId;
-                        funs_New.Add(ssdd);
+                        funs_RoomAll.Add(ssdd);
                     }
                 }
                 else
                 {
-                    foreach (var f in room.GetRoomFunctions(false))
+                    foreach (var f in roomFunctionList)
                     {
-                        var sd = funs.Find((obj) => obj.shareTypeId == f.deviceId);
+                        var sd = curResidenceShareData.Find((obj) => obj.shareTypeId == f.deviceId);
                         if (sd != null)
                         {
                             funs_Del.Add(sd);
                         }
                     }
                 }
-                LoadFunctionRow(funs_New);
+                LoadFunctionRow(funs_RoomAll);
             };
             btnChooseAll.MouseUpEventHandler = eventHandler;
             allRoomView.MouseUpEventHandler = eventHandler;

--
Gitblit v1.8.0