From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs |  228 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 214 insertions(+), 14 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs
index 4d3a95c..e9599c7 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs
@@ -1,6 +1,8 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Threading;
 using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
 using Shared;
 
 namespace HDL_ON.UI
@@ -19,14 +21,9 @@
             {
                 Action action = () =>
                 {
-                    var responePack = new HttpServerRequest().DeleteResidenceMemberAccount(memberInfo);
-                    if (responePack.Code == StateCode.SUCCESS)
-                    {
-                        this.RemoveFromParent();
-                        backAction();
-                    }
+                    RemoveTheMember();
                 };
-                new PublicAssmebly().TipMsg(StringId.Tip, StringId.ConfirmToRemoveTheMember, action);
+                new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.ConfirmToRemoveTheMember, action);
             };
         }
 
@@ -36,6 +33,7 @@
         void GetShareDataByAccount()
         {
             var waitPage = new Loading();
+            bodyView.AddChidren(waitPage);
             waitPage.Start(Language.StringByID(StringId.PleaseWait));
             new System.Threading.Thread(() =>
             {
@@ -44,16 +42,16 @@
                     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();
@@ -61,7 +59,7 @@
                     }
                     else
                     {
-                        memberInfo.CurResidenceShareDate = new List<ShareData>();
+                        memberInfo.CurResidenceShareData = new List<ShareData>();
                         IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
                     }
                 }
@@ -73,13 +71,215 @@
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        //ShowRoomListView();
-                        waitPage.Hide();
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
                     });
                 }
             })
             { 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="roomFunctionOrSceneList">褰撳墠鎴块棿鎵�鏈夊姛鑳藉垪琛�</param>
+        /// <param name="roomId">濡傛灉鎴块棿ID涓虹┖锛屽垯浠h〃绠$悊鏃犲垎閰嶅尯鍩熺殑鍔熻兘锛屼笉闇�瑕佸垹闄ゆ埧闂村垎浜�</param>
+        /// <param name="btnFunctionCount">涓暟缁熻鏁伴噺</param>
+        /// <param name="roomView">鑳屾櫙View</param>
+        void DeleteRoomAllShare(List<ShareData> funs_Del, List<RoomData> roomFunctionOrSceneList, 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;
+                    //2020-12-22 灞忚斀鎴块棿鍒嗕韩绠$悊
+                    ////濡傛灉鎴块棿ID涓虹┖锛屽垯浠h〃绠$悊鏃犲垎閰嶅尯鍩熺殑鍔熻兘锛屼笉闇�瑕佸垹闄ゆ埧闂村垎浜�
+                    //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.id,
+                    };
+                    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 + "/" + roomFunctionOrSceneList.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.id,
+            };
+            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;
+            }
+        }
     }
+
 }

--
Gitblit v1.8.0