using System.ComponentModel;
using System.Reflection;
using Microsoft.Extensions.Logging;
using QYZH.InteractiveMagazine.IService;
using QYZH.InteractiveMagazine.Models.Dto.SystemManagement;
namespace QYZH.InteractiveMagazine.Service;
///
/// 系统管理服务实现
///
public class SystemManagementService : ISystemManagementService
{
private readonly ILogger _logger;
public SystemManagementService(ILogger logger)
{
_logger = logger;
}
public Task> GetAllEnumsAsync()
{
_logger.LogInformation("开始获取所有枚举信息");
var enumAssembly = typeof(QYZH.InteractiveMagazine.Models.Enum.DefaultStatusEnum).Assembly;
var enumNamespace = "QYZH.InteractiveMagazine.Models.Enum";
var enumTypes = enumAssembly.GetTypes()
.Where(t => t.IsEnum && t.Namespace == enumNamespace)
.OrderBy(t => t.Name)
.ToList();
var result = new List();
foreach (var enumType in enumTypes)
{
var enumInfo = new EnumInfoOutput
{
EnumName = enumType.Name
};
var fields = Enum.GetValues(enumType)
.Cast