Files

25 lines
989 B
C#

using System.Reflection;
using NpgsqlTypes;
using Pf2e.Database.Model.Enum;
namespace Pf2e.Web.Helpers
{
/// <summary>
/// Вспомогательный класс для получения имен PostgresSQL из перечислений.
/// </summary>
public static class PgNameHelper
{
/// <summary>
/// Получает имя PostgresSQL для заданного типа сущности.
/// </summary>
/// <param name="entityType">Тип сущности.</param>
/// <returns>Строковое представление имени PostgresSQL.</returns>
public static string GetPgName(EntityType entityType)
{
FieldInfo? fieldInfo = entityType.GetType().GetField(entityType.ToString());
PgNameAttribute? pgNameAttribute = fieldInfo?.GetCustomAttribute<PgNameAttribute>();
return pgNameAttribute?.PgName ?? entityType.ToString().ToLower();
}
}
}