Sic.Framework-Nanjing-Baishi/MECF.Framework.UI.Client/CenterViews/Configs/Roles/RolePermissionMapper.cs

49 lines
1.4 KiB
C#
Raw Normal View History

2023-04-13 11:51:03 +08:00
using System.Collections.ObjectModel;
using System.Linq;
using Aitex.Core.Util;
using MECF.Framework.Common.Account;
2023-04-13 11:51:03 +08:00
namespace MECF.Framework.UI.Client.CenterViews.Configs.Roles
{
public class RolePermissionMapper : Singleton<RolePermissionMapper>
2023-04-13 11:51:03 +08:00
{
public static readonly PermissionType None = new(MenuPermissionEnum.MP_NONE, "NONE");
public static readonly PermissionType Read = new(MenuPermissionEnum.MP_READ, "READ");
public static readonly PermissionType ReadWrite = new(MenuPermissionEnum.MP_READ_WRITE, "READ & WRITE");
#region Properties
public ObservableCollection<PermissionType> PermissionDictionary { get; } = new()
{
None,
Read,
ReadWrite
};
#endregion
2023-04-13 11:51:03 +08:00
#region Methods
public static PermissionType FromMenuPermissionEnum(MenuPermissionEnum perm)
2023-04-13 11:51:03 +08:00
{
return Instance.PermissionDictionary.FirstOrDefault(x => x.EnumPermission == perm) ?? None;
2023-04-13 11:51:03 +08:00
}
public string ToString(MenuPermissionEnum enumPermission)
2023-04-13 11:51:03 +08:00
{
foreach (var pd in PermissionDictionary)
2023-04-13 11:51:03 +08:00
{
if (pd.EnumPermission == enumPermission)
2023-04-13 11:51:03 +08:00
{
return pd.StringPermission;
}
}
return "";
}
#endregion
2023-04-13 11:51:03 +08:00
}
2023-04-13 11:51:03 +08:00
}