12345678910111213141516171819202122232425262728293031323334353637383940 |
- using System;
- using System.Linq;
- using InABox.Clients;
- namespace InABox.Core
- {
- public static class SecurityDescriptorUtils
- {
- public static bool IsSupported(Type type)
- {
- var entities = type.GetInheritedGenericTypeArguments().ToArray();
- if (entities.Length > 1)
- return ClientFactory.IsSupported(entities.Skip(1).ToArray());
- return true;
- }
- public static string Type(Type type)
- {
- type = type.BaseType?.GetGenericArguments().FirstOrDefault();
- if (type != null)
- {
- var caption = type.GetCustomAttributes(typeof(Caption), true).FirstOrDefault() as Caption;
- return caption != null ? caption.Text : type.EntityName();
- }
- return "General";
- }
- public static string Code(Type type)
- {
- return type.EntityName().Split('.').Last();
- }
- public static string Description(Type type)
- {
- var caption = type.GetCustomAttributes(typeof(Caption), true).FirstOrDefault() as Caption;
- return caption != null ? caption.Text : type.EntityName();
- }
- }
- }
|