using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace FlexJobApi.Core
|
{
|
public static class EnumUtils
|
{
|
public static async Task<EnumModel> GetModel(this Type type)
|
{
|
var model = new EnumModel();
|
var xmlDoc = await XmlDocUtils.GetXmlDocAsync();
|
var xmlDocMember = await XmlDocUtils.GetXmlDocMemberAsync(type, xmlDoc);
|
model.Name = type.Name;
|
model.Description = xmlDocMember?.Summary;
|
|
foreach (var enumValue in Enum.GetValues(type))
|
{
|
var item = new EnumModelItem();
|
item.Name = enumValue.ToString();
|
item.Value = (int)enumValue;
|
var enumMember = type.GetMember(enumValue.ToString()).FirstOrDefault();
|
var enumXmlDocMember = await XmlDocUtils.GetXmlDocMemberAsync(enumMember, xmlDoc);
|
item.Description = enumXmlDocMember?.Summary;
|
model.Items.Add(item);
|
}
|
return model;
|
}
|
}
|
}
|