2026-02-24 20:44:16 +00:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using Volo.Abp.Data;
|
|
|
|
|
|
using Volo.Abp.PermissionManagement;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Sozsoft.Platform.Extensions;
|
|
|
|
|
|
|
|
|
|
|
|
public static class AbpPermissionsExtensions
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Menü gruplarını pipe karakteriyle ayrılmış string olarak kaydeder. (örnek: "Erp|Kurs")
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static void SetMenuGroup(this PermissionDefinitionRecord permission, string menuGroup)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(menuGroup))
|
|
|
|
|
|
{
|
|
|
|
|
|
permission.SetProperty(PlatformConsts.Permissions.MenuGroup, null);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 🔹 Gereksiz boşlukları temizle
|
|
|
|
|
|
var cleaned = string.Join(
|
2026-07-08 07:29:45 +00:00
|
|
|
|
"|",
|
2026-02-24 20:44:16 +00:00
|
|
|
|
menuGroup
|
2026-07-08 07:29:45 +00:00
|
|
|
|
.Split(PlatformConsts.MultiValueDelimiter, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)
|
2026-02-24 20:44:16 +00:00
|
|
|
|
.Distinct()
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// 🔹 Veritabanına "Erp|Kurs" formatında kaydet
|
|
|
|
|
|
permission.SetProperty(PlatformConsts.Permissions.MenuGroup, cleaned);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Menü gruplarını veritabanındaki pipe formatından string[] olarak döndürür. (örnek: "Erp|Kurs" → ["Erp", "Kurs"])
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static string[] GetMenuGroup(this PermissionDefinitionRecord permission)
|
|
|
|
|
|
{
|
|
|
|
|
|
var value = permission.GetProperty<string>(PlatformConsts.Permissions.MenuGroup);
|
|
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(value))
|
|
|
|
|
|
{
|
|
|
|
|
|
return Array.Empty<string>();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 🔹 "Erp|Kurs" -> ["Erp", "Kurs"]
|
|
|
|
|
|
return value
|
2026-07-08 07:29:45 +00:00
|
|
|
|
.Split(PlatformConsts.MultiValueDelimiter, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)
|
2026-02-24 20:44:16 +00:00
|
|
|
|
.Distinct()
|
|
|
|
|
|
.ToArray();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|