| 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();
 
-         }
 
-     }
 
- }
 
 
  |