| | |
| | | using Tiger.IBusiness; |
| | | using System.Threading; |
| | | using System.Linq; |
| | | using Tiger.Model; |
| | | using System.Xml.Linq; |
| | | using System.ComponentModel; |
| | | |
| | | namespace Tiger.Api.Controllers.Base |
| | | { |
| | |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [Route("System/Base/[action]")] |
| | | public IActionResult GetEntitys() |
| | | [Route("System/Entitys/Get")] |
| | | public IActionResult GetEntitys(string Namespace, string StartWith) |
| | | { |
| | | Assembly assembly = Assembly.Load("Tiger.Model"); |
| | | Type[] types = assembly.GetTypes(); |
| | | var entitys = types.Where(q => q.GetInterfaces().Contains(typeof(Model.iEntity)) && q.IsClass).ToList(); |
| | | var data = entitys.Select(q => new |
| | | var entitys = types.Where(q => q.IsClass && q.GetInterfaces().Contains(typeof(Model.iEntity)) //&& q.Namespace != "Tiger.Model.Minsun" |
| | | && (Namespace.IsNullOrEmpty() || q.Namespace == Namespace) |
| | | && (StartWith.IsNullOrEmpty() || q.Name.StartsWith(StartWith)) |
| | | && !q.GetCustomAttributes(typeof(EntityBase), false).Any()).ToList(); |
| | | var data = new |
| | | { |
| | | q.Namespace, |
| | | q.FullName, |
| | | Properties = q.GetProperties().Select(p => new { p.Name, Type = p.PropertyType.Name }).ToList() |
| | | }); |
| | | Total = entitys.Count, |
| | | Data = entitys.Select(q => new |
| | | { |
| | | q.FullName, |
| | | q.Namespace, |
| | | q.Name, |
| | | DisplayName = (q.GetCustomAttribute(typeof(DisplayNameAttribute)) as DisplayNameAttribute)?.DisplayName, |
| | | Properties = q.GetProperties().Select(p => new { |
| | | p.Name, |
| | | DisplayName = (p.GetCustomAttribute(typeof(DisplayNameAttribute)) as DisplayNameAttribute)?.DisplayName, |
| | | Type = p.PropertyType.Name }).ToList() |
| | | }) |
| | | }; |
| | | return Ok(data); |
| | | } |
| | | |