using NoFurion.Extensions;
using Dolphin.ExamPictureCut.Common.Dto;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
using NoFurion;
namespace Dolphin.ExamPictureCut.Common;
public class CommonAppService : DolphinAppService
{
private readonly ISqlSugarClient _client;
public CommonAppService(ISqlSugarClient client)
{
_client = client;
}
///
/// 获取枚举值
///
///
///
public List GetEnumInfo(GetEnumInfoInput input)
{
var result = input.EnumName.GetEnumValueDto(input.IncludeValues, input.ExcludeValues);
ExceptionExt.ThrowIf(result == null || result.Count == 0, $"不存在名称为{input.EnumName}枚举");
return result;
}
///
/// 批量获取枚举值
///
///
///
public Dictionary> GetEnumInfos([Required] List enumNames)
{
var resultDict = new Dictionary>();
foreach (var name in enumNames.Distinct())
{
var datas = name.GetEnumValueDto();
resultDict[name] = datas;
}
return resultDict;
}
///
/// 获取 class 字段
///
///
///
public List GetClassFieldNames(string className)
{
var cls = Type.GetType(className);
if (cls == null) return null;
var fields = new List();
foreach (var p in cls.GetProperties())
{
fields.Add(p.Name);
}
return fields;
}
}