From e6a26ee148587327478d9a82624a820c907b6e16 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 04 十一月 2020 14:58:15 +0800
Subject: [PATCH] 20201104

---
 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs |   72 +++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 21 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs
index ad6bd79..5f5ff8a 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs
@@ -10,13 +10,17 @@
     public partial class MemberPermissionPage : FrameLayout
     {
         MemberPermissionPage bodyView;
+        Button btnDelMember;
 
         ResidenceMemberInfo memberInfo;
 
-        public MemberPermissionPage(ResidenceMemberInfo mInfo)
+        Action backAction;
+
+        public MemberPermissionPage(ResidenceMemberInfo mInfo,Action action)
         {
             bodyView = this;
             memberInfo = mInfo;
+            backAction = action;
         }
 
         public void LoadPage()
@@ -98,13 +102,15 @@
             };
             contentView.AddChidren(roomListView);
 
-            List<Function> funss = new List<Function>();
-            if (memberInfo.CurShareData.ShareDataBytes != null)
-            {
-                funss = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Function>>(
-                       CommonPage.MyEncodingUTF8.GetString(memberInfo.CurShareData.ShareDataBytes));
-            }
-            foreach (var room in DB_ResidenceData.residenceData.rooms)
+            //List<Function> funss = new List<Function>();
+            //if (memberInfo.CurResidenceShareDate.Count > 0)
+            //{
+            //    foreach (var sd in memberInfo.CurResidenceShareDate)
+            //    {
+            //        funss.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<ShareData>(System.Text.Encoding.UTF8.GetString(sd.ShareDataBytes)));
+            //    }
+            //}
+            foreach (var room in DB_ResidenceData.rooms)
             {
                 var roomView = new FrameLayout()
                 {
@@ -128,14 +134,25 @@
 
                 //璁$畻宸茬粡鍔犲叆鎴块棿鐨勮澶囨暟閲�
                 int addCount = 0;
-                foreach (var d in memberInfo.sharedDatas)
+                foreach (var sd in memberInfo.CurResidenceShareDate)
                 {
-                    foreach(var f in funss)
+                    if (room.GetRoomFunctions(false).Find((obj) => obj.sid == sd.ShareName) != null)
                     {
-                        if (room.functions.Find((obj) => obj.sid == f.sid) != null)
-                        {
-                            addCount++;
-                        }
+                        addCount++;
+                    }
+                }
+                //绉婚櫎褰撳墠浣忓畢宸茬粡涓嶅瓨鍦ㄧ殑鍔熻兘
+                for(int i= 0;i< memberInfo.CurResidenceShareDate.Count;)
+                {
+                    var sd = memberInfo.CurResidenceShareDate[i];
+                    if (DB_ResidenceData.functionList.GetAllFunction().Find((obj) => obj.sid == sd.ShareName) == null)
+                    {
+                        new DAL.Server.HttpServerRequest().DeleteShareData(sd);
+                        memberInfo.CurResidenceShareDate.Remove(sd);
+                    }
+                    else
+                    {
+                        i++;
                     }
                 }
 
@@ -148,7 +165,7 @@
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = CSS_Color.PromptingColor1,
                     TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-                    Text = addCount + "/" + room.functions.Count.ToString(),
+                    Text = addCount + "/" + room.GetRoomFunctions(false).Count.ToString(),
                 };
                 roomView.AddChidren(btnFunctionCount);
 
@@ -164,17 +181,19 @@
 
                 EventHandler<MouseEventArgs> eHandler = (sender, e) =>
                 {
-                    var mmp = new MemberFunctionPermissionPage(memberInfo,room);
+                    Action<string> refreshFunctionCount = (newCount) => {
+                        btnFunctionCount.Text = newCount + "/" + room.GetRoomFunctions(false).Count.ToString();
+                    };
+                    var mmp = new MemberFunctionPermissionPage(memberInfo, room,refreshFunctionCount);
                     MainPage.BasePageView.AddChidren(mmp);
-                    mmp.LoadPage();
+                    mmp.LoadPage(StringId.PermissionToUse);
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                 };
                 roomView.MouseUpEventHandler = eHandler;
                 btnRoomName.MouseUpEventHandler = eHandler;
                 btnRight.MouseUpEventHandler = eHandler;
 
-
-                if (DB_ResidenceData.residenceData.rooms.IndexOf(room) < DB_ResidenceData.residenceData.rooms.Count - 2)
+                if (DB_ResidenceData.rooms.IndexOf(room) < DB_ResidenceData.rooms.Count - 2)
                 {
                     var btnRoomLine = new Button()
                     {
@@ -188,7 +207,7 @@
                 }
             }
 
-            if (DB_ResidenceData.residenceData.rooms.Count > 10)
+            if (DB_ResidenceData.rooms.Count > 10)
             {
                 roomListView.ScrollEnabled = true;
             }
@@ -202,10 +221,21 @@
                     BackgroundColor = CSS_Color.BackgroundColor,
                 });
             }
-
             #endregion
 
+            btnDelMember = new Button()
+            {
+                Y = Application.GetRealHeight(617),
+                Height = MainPage.Increase ? Application.GetRealHeight(70) : Application.GetRealHeight(50),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.WarningColor,
+                TextID = StringId.RemoveTheMember,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            bodyView.AddChidren(btnDelMember);
 
+            LoadEventList();
         }
     }
 }

--
Gitblit v1.8.0