From d21ef6135c295e9bfa5ac7c0858ef55f5627479c Mon Sep 17 00:00:00 2001
From: Tong <1025782220@qq.com>
Date: 星期二, 31 八月 2021 10:04:05 +0800
Subject: [PATCH] 修改全局秘钥
---
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs | 330 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 180 insertions(+), 150 deletions(-)
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs
index dea9002..e7454e3 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs
@@ -4,11 +4,12 @@
using HDL_ON.Entity;
using System.Collections.Generic;
using HDL_ON.DAL;
+using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
/// <summary>
- /// 浣跨敤鏉冮檺椤甸潰
+ /// 鎴愬憳鏉冮檺绠$悊椤甸潰
/// </summary>
public partial class MemberPermissionPage : FrameLayout
{
@@ -30,7 +31,7 @@
public void LoadPage()
{
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
- new TopViewDiv(bodyView, Language.StringByID(StringId.PermissionToUse)).LoadTopView();
+ new TopViewDiv(bodyView, Language.StringByID(StringId.MemberPermissionManagement)).LoadTopView();
FrameLayout headPortraitView = new FrameLayout()
{
@@ -131,6 +132,7 @@
List<Function> allFunctionList = FunctionList.List.GetDeviceFunctionList();
//鏈垎閰嶅尯鍩熺殑鍔熻兘
List<Function> unallocatedList = new List<Function>();
+ //
foreach (var function in allFunctionList)
{
function.roomIds.Remove(null);
@@ -144,134 +146,95 @@
}
}
- //绉婚櫎褰撳墠浣忓畢宸茬粡涓嶅瓨鍦ㄧ殑鍔熻兘
- for (int i = 0; i < memberInfo.CurResidenceShareDate.Count;)
+ //鎵�鏈夊満鏅�
+ List<Scene> allSceneList = FunctionList.List.scenes;
+ //鍏ㄥ眬鍦烘櫙鍦烘櫙
+ List<Scene> globalSceneList = new List<Scene>();
+ //鎵惧嚭鎵�鏈夌殑鍏ㄥ眬鍦烘櫙
+ foreach (var mScene in allSceneList)
{
- var sd = memberInfo.CurResidenceShareDate[i];
- if (allFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) == null)
+
+ //roomIds澶т簬0 浠h〃鍒嗛厤鍒版埧闂�
+ mScene.roomIds.Remove(null);
+ if (mScene.roomIds.Count > 0)
{
- //new DAL.Server.HttpServerRequest().DeleteShareData(sd);
- //寰呯‘璁ゆ槸鍚﹀悓姝ヤ簯绔垹闄ゅ垎浜�
- memberInfo.CurResidenceShareDate.Remove(sd);
+ //allocatedList.Add(function);
}
else
{
- i++;
+ globalSceneList.Add(mScene);
}
}
- foreach (var room in SpatialInfo.CurrentSpatial.RoomList)
+ ////绉婚櫎褰撳墠浣忓畢宸茬粡涓嶅瓨鍦ㄧ殑鍔熻兘
+ //for (int i = 0; i < memberInfo.CurResidenceShareData.Count;)
+ //{
+ // var sd = memberInfo.CurResidenceShareData[i];
+ // if (allFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) == null)
+ // {
+ // //new DAL.Server.HttpServerRequest().DeleteShareData(sd);
+ // //寰呯‘璁ゆ槸鍚﹀悓姝ヤ簯绔垹闄ゅ垎浜�
+ // memberInfo.CurResidenceShareData.Remove(sd);
+ // }
+ // else
+ // {
+ // i++;
+ // }
+ //}
+
+ try
{
- var roomView = new RowLayout()
+ //閬嶅巻鍔犺浇鎴块棿鍒嗕韩涓暟缁熻鐘舵�丷owLayout
+ foreach (var room in SpatialInfo.CurrentSpatial.RoomList)
{
- Height = Application.GetRealWidth(50),
- BackgroundColor = CSS_Color.MainBackgroundColor,
- LineColor = CSS_Color.MainBackgroundColor,
- };
- roomListView.AddChidren(roomView);
-
- var btnRoomName = new Button()
- {
- X = Application.GetRealWidth(16),
- Y = Application.GetRealWidth(4),
- Width = Application.GetRealWidth(330),
- Height = Application.GetRealWidth(24),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- Text = room.roomName,
- };
- roomView.AddChidren(btnRoomName);
-
- //璁$畻宸茬粡鍔犲叆鎴块棿鐨勮澶囨暟閲�
- int addCount = 0;
- foreach (var sd in memberInfo.CurResidenceShareDate)
- {
- if (room.GetRoomFunctions(false).Find((obj) => obj.deviceId == sd.shareTypeId) != null)
- {
- addCount++;
- }
+ AddRoomFunctionRowLayout(room);
}
- ////绉婚櫎褰撳墠浣忓畢宸茬粡涓嶅瓨鍦ㄧ殑鍔熻兘
- //for (int i = 0; i < memberInfo.CurResidenceShareDate.Count;)
- //{
- // var sd = memberInfo.CurResidenceShareDate[i];
- // if (allFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) == null)
- // {
- // //new DAL.Server.HttpServerRequest().DeleteShareData(sd);
- // memberInfo.CurResidenceShareDate.Remove(sd);
- // }
- // else
- // {
- // i++;
- // }
- //}
-
- var btnFunctionCount = new Button()
- {
- X = Application.GetRealWidth(16),
- Y = btnRoomName.Bottom,
- Width = Application.GetRealWidth(330),
- Height = Application.GetRealWidth(18),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.PromptingColor1,
- TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- Text = addCount + "/" + room.GetRoomFunctions(false).Count.ToString(),
- };
- roomView.AddChidren(btnFunctionCount);
-
- var btnRight = new Button()
- {
- X = Application.GetRealWidth(351),
- Gravity = Gravity.CenterVertical,
- Width = Application.GetMinRealAverage(16),
- Height = Application.GetMinRealAverage(16),
- UnSelectedImagePath = "Public/Right.png",
- };
- roomView.AddChidren(btnRight);
- //鍒嗗壊绾�
- var lineView = new LineView(roomView.Height - Application.GetRealHeight(1));
- roomView.AddChidren(lineView);
- //鍒犻櫎鎸夐挳
- var deleteBtn = new Button()
- {
- TextID = StringId.Del,
- BackgroundColor = CSS_Color.AuxiliaryColor2,
- TextColor = CSS_Color.MainBackgroundColor,
- TextSize = CSS_FontSize.TextFontSize,
- };
- roomView.AddRightView(deleteBtn);
- deleteBtn.MouseUpEventHandler = (sender, e) =>
- {
- //鍒犻櫎浜嬩欢
- };
-
- EventHandler<MouseEventArgs> eHandler = (sender, e) =>
- {
- 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(StringId.PermissionToUse);
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- };
- roomView.MouseUpEventHandler = eHandler;
- btnRoomName.MouseUpEventHandler = eHandler;
- btnRight.MouseUpEventHandler = eHandler;
- btnFunctionCount.MouseUpEventHandler = eHandler;
+ //2020-12-16 鍔犺浇鏈垎閰嶅尯鍩熷姛鑳絉owLayout
+ AddNoAreaFunctionRowLayout(unallocatedList, globalSceneList);
}
-
- //2020-12-16 鍔犺浇鏈垎閰嶅尯鍩熷姛鑳�
- AddNoAreaFunction(unallocatedList);
+ catch
+ {
+ Utlis.WriteLine("AddRoomFunctionRowLayout error");
+ }
}
/// <summary>
- /// 娣诲姞鏈垎閰嶅尯鍩熷姛鑳�
+ /// 娣诲姞鎴块棿鍒嗕韩涓暟缁熻鐘舵�佺殑RowLayout
/// </summary>
- /// <param name="unallocatedList"></param>
- void AddNoAreaFunction(List<Function> unallocatedList)
+ /// <param name="mRoom"></param>
+ void AddRoomFunctionRowLayout(Room mRoom)
{
+ ShowBaseRoomFunOrNoAreaFunRowLayout(mRoom, null, null);
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="unallocatedList">鏈垎閰嶇殑鎵�鏈夊姛鑳藉垪琛�</param>
+ /// <param name="globalSceneList">鍏ㄥ尯鍩熺殑鍦烘櫙</param>
+ void AddNoAreaFunctionRowLayout(List<Function> unallocatedList, List<Scene> globalSceneList)
+ {
+ ShowBaseRoomFunOrNoAreaFunRowLayout(null, unallocatedList, globalSceneList);
+ }
+
+ /// <summary>
+ /// 2020-12-17 閲嶆柊璋冩暣
+ /// 娣诲姞鎴块棿鍒嗕韩鎴栬�呮棤鍖哄煙鍒嗛厤 涓暟缁熻鐘舵�佺殑RowLayout
+ /// </summary>
+ /// <param name="room">濡傛灉鎴块棿涓虹┖锛屼唬琛ㄧ鐞嗘棤鍒嗛厤鍖哄煙</param>
+ /// <param name="unallocatedList">绠$悊鏃犲垎閰嶅尯鍩熸墠鏈夋晥</param>
+ /// <param name="globalSceneList">鍏ㄥ眬鍦烘櫙</param>
+ void ShowBaseRoomFunOrNoAreaFunRowLayout(Room mRoom, List<Function> unallocatedList, List<Scene> globalSceneList)
+ {
+ /// 褰撳墠鎴块棿鎴栬�呮棤鍒嗛厤鍖哄煙鍒嗕韩鍒楄〃
+ List<ShareData> funs_RoomAll = new List<ShareData>();
+
+ /// 鎴块棿鎵�鏈夊姛鑳藉拰鑰呭満鏅垪琛�
+ List<RoomData> roomFunctionOrSceneList = new List<RoomData>();
+
+ /// 鎴块棿ID
+ string roomId = "";
+
var roomView = new RowLayout()
{
Height = Application.GetRealWidth(50),
@@ -289,33 +252,11 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
- TextID = StringId.NoAreaFunction
+ //Text = room.roomName,
};
roomView.AddChidren(btnRoomName);
- //璁$畻宸茬粡鍔犲叆鎴块棿鐨勮澶囨暟閲�
- int addCount = 0;
- foreach (var sd in memberInfo.CurResidenceShareDate)
- {
- if (unallocatedList.Find((obj) => obj.deviceId == sd.shareTypeId) != null)
- {
- addCount++;
- }
- }
- ////绉婚櫎褰撳墠浣忓畢宸茬粡涓嶅瓨鍦ㄧ殑鍔熻兘
- //for (int i = 0; i < memberInfo.CurResidenceShareDate.Count;)
- //{
- // var sd = memberInfo.CurResidenceShareDate[i];
- // if (allFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) == null)
- // {
- // //new DAL.Server.HttpServerRequest().DeleteShareData(sd);
- // memberInfo.CurResidenceShareDate.Remove(sd);
- // }
- // else
- // {
- // i++;
- // }
- //}
+
var btnFunctionCount = new Button()
{
@@ -326,7 +267,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- Text = addCount + "/" + unallocatedList.Count.ToString(),
+ //Text = addCount + "/" + room.GetRoomFunctions(false).Count.ToString(),
};
roomView.AddChidren(btnFunctionCount);
@@ -339,9 +280,82 @@
UnSelectedImagePath = "Public/Right.png",
};
roomView.AddChidren(btnRight);
- ////鍒嗗壊绾�
- //var lineView = new LineView(roomView.Height - Application.GetRealHeight(1));
- //roomView.AddChidren(lineView);
+
+ //濡傛灉鎴块棿涓虹┖锛屼唬琛ㄧ鐞嗘棤鍒嗛厤鍖哄煙
+ if (mRoom != null)
+ {
+ //鏄剧ず鎴块棿鍚�
+ btnRoomName.Text = mRoom.roomName;
+ var mRoomFunctionList = mRoom.GetRoomFunctions(false);
+ var mRoomSceneList = mRoom.GetRoomScenes(true);
+ //閬嶅巻鎵�鏈夊姛鑳藉垪琛�
+ if (mRoomFunctionList != null)
+ {
+ foreach (var fun in mRoomFunctionList)
+ {
+ roomFunctionOrSceneList.Add(new RoomData()
+ {
+ shareTypeId = fun.deviceId,
+ shareType = ShareType.DEVICE.ToString(),
+ name = fun.name,
+ });
+ }
+ }
+
+ //閬嶅巻鎵�鏈夊満鏅垪琛�
+ if (mRoomSceneList != null)
+ {
+ foreach (var roomScene in mRoomSceneList)
+ {
+ roomFunctionOrSceneList.Add(new RoomData()
+ {
+ shareTypeId = roomScene.userSceneId,
+ shareType = ShareType.SCENE.ToString(),
+ name = roomScene.name,
+ });
+ }
+ }
+
+ roomId = mRoom.roomId;
+ //娣诲姞鍒嗗壊绾�
+ var lineView = new LineView(roomView.Height - Application.GetRealHeight(1));
+ roomView.AddChidren(lineView);
+ }
+ else
+ {
+ //鏄剧ず鏃犲尯鍩熷姛鑳�
+ btnRoomName.TextID = StringId.NoAreaFunction;
+ roomId = null;
+
+ //閬嶅巻鎵�鏈夊姛鑳藉垪琛�
+ if (unallocatedList != null)
+ {
+ foreach (var fun in unallocatedList)
+ {
+ roomFunctionOrSceneList.Add(new RoomData()
+ {
+ shareTypeId = fun.deviceId,
+ shareType = ShareType.DEVICE.ToString(),
+ name = fun.name,
+ });
+ }
+ }
+
+ //閬嶅巻鎵�鏈夊満鏅垪琛�
+ if (globalSceneList != null)
+ {
+ foreach (var roomScene in globalSceneList)
+ {
+ roomFunctionOrSceneList.Add(new RoomData()
+ {
+ shareTypeId = roomScene.userSceneId,
+ shareType = ShareType.SCENE.ToString(),
+ name = roomScene.name,
+ });
+ }
+ }
+ }
+
//鍒犻櫎鎸夐挳
var deleteBtn = new Button()
{
@@ -353,25 +367,41 @@
roomView.AddRightView(deleteBtn);
deleteBtn.MouseUpEventHandler = (sender, e) =>
{
- //鍒犻櫎浜嬩欢
+ //涓�閿垹闄ゆ墍鏈夊垎浜�
+ DeleteRoomAllShare(funs_RoomAll, roomFunctionOrSceneList, roomId, btnFunctionCount, roomView);
};
+ //璁$畻宸茬粡鍔犲叆鎴块棿鐨勮澶囨暟閲忕殑Action浜嬩欢
+ Action RefreshAction = () => {
+ funs_RoomAll = new List<ShareData>();
+ int addCount = 0;
+ foreach (var sd in memberInfo.CurResidenceShareData)
+ {
+ if (roomFunctionOrSceneList.Find((obj) => obj.shareTypeId == sd.shareTypeId) != null)
+ {
+ addCount++;
+ funs_RoomAll.Add(sd);
+ }
+ }
+ btnFunctionCount.Text = addCount + "/" + roomFunctionOrSceneList.Count.ToString();
+ //Utlis.WriteLine("鍒锋柊鎴愬姛");
+ };
+ //鐐瑰嚮璋冩暣浜嬩欢
EventHandler<MouseEventArgs> eHandler = (sender, e) =>
{
- Action<string> refreshFunctionCount = (newCount) => {
- btnFunctionCount.Text = newCount + "/" + unallocatedList.Count.ToString();
- };
- //var mmp = new MemberFunctionPermissionPage(memberInfo, room, refreshFunctionCount);
- //MainPage.BasePageView.AddChidren(mmp);
- //mmp.LoadPage(StringId.PermissionToUse);
- //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ var mmp = new MemberFunctionPermissionPage(memberInfo, roomFunctionOrSceneList, funs_RoomAll, roomId, RefreshAction);
+ MainPage.BasePageView.AddChidren(mmp);
+ mmp.LoadPage(StringId.MemberPermissionManagement);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
roomView.MouseUpEventHandler = eHandler;
btnRoomName.MouseUpEventHandler = eHandler;
btnRight.MouseUpEventHandler = eHandler;
btnFunctionCount.MouseUpEventHandler = eHandler;
-
+ RefreshAction?.Invoke();
}
+
+
}
}
--
Gitblit v1.8.0