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