57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
using System.Collections.ObjectModel;
|
||
using System.Linq;
|
||
using Aitex.Core.Util;
|
||
using MECF.Framework.Common.Account;
|
||
|
||
namespace MECF.Framework.UI.Client.CenterViews.Configs.Roles
|
||
{
|
||
public class RolePermissionTrueFalseMapper : Singleton<RolePermissionTrueFalseMapper>
|
||
{
|
||
public static readonly PermissionType No = new(MenuPermissionEnum.MP_NONE, "NO");
|
||
public static readonly PermissionType Yes = new(MenuPermissionEnum.MP_READ_WRITE, "YES");
|
||
|
||
#region Properties
|
||
|
||
public ObservableCollection<PermissionType> PermissionDictionary { get; } = new()
|
||
{
|
||
No,
|
||
Yes
|
||
};
|
||
|
||
#endregion
|
||
|
||
#region Methods
|
||
|
||
public static PermissionType FromMenuPermissionEnum(MenuPermissionEnum perm)
|
||
{
|
||
// 为兼容已存在的权限,将配置为MP_READ的项目更换为MP_READ_WRITE
|
||
if (perm == MenuPermissionEnum.MP_READ)
|
||
perm = MenuPermissionEnum.MP_READ_WRITE;
|
||
|
||
return Instance.PermissionDictionary.FirstOrDefault(x => x.EnumPermission == perm) ?? No;
|
||
}
|
||
|
||
public string ToString(MenuPermissionEnum enumPermission)
|
||
{
|
||
foreach (var pd in PermissionDictionary)
|
||
{
|
||
if (pd.EnumPermission == enumPermission)
|
||
{
|
||
return pd.StringPermission;
|
||
}
|
||
}
|
||
|
||
return "";
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
}
|