using APT.BaseData.Domain.Entities; using APT.BaseData.Domain.Entities.BD; using APT.BaseData.Domain.Enums; using APT.BaseData.Domain.IServices.BD; using APT.Infrastructure.Core; using APT.Utility; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Threading.Tasks; namespace APT.BD.WebApi.Controllers.Api { /// /// 实体类型表 /// [Route("api/PF/Entity")] public partial class EntityController : AuthorizeTreeApiController { /// /// 实体属性列表(只显示一级) /// /// 过滤实体 /// 省份ID /// [HttpGet, Route("Props")] public JsonActionResult> Props(string name) { return SafeExecute>(() => { var retProps = new List(); var entityType = APT.Infrastructure.Core.Refctor.ReflectHelper.FindTypeInCurrentDomain(name); if (entityType == null) return retProps; var fields = entityType.GetProperties(); List attrs = new List(); foreach (var fi in fields) { dynamic obj = new System.Dynamic.ExpandoObject(); obj.CODE = fi.Name; obj.ID = fi.Name; var descAtrr = fi.GetAttribute(); if (descAtrr != null) { obj.NAME = descAtrr.Description; } else { obj.NAME = ""; } attrs.Add(obj); } return attrs; }); } } }