public static void Eval(this ISystemAcl sacl, Type rightType, SecurityResults securityResults)
        {
            string rtn = rightType.GetFriendlyRightTypeName();
            IEnumerable <IAccessControlEntryAudit> found = from ace in sacl
                                                           where ace.RightData.FriendlyTypeName.Equals(rtn)
                                                           select ace;
            List <IAccessControlEntryAudit> aces = new List <IAccessControlEntryAudit>(found);

            EvalAceList(rightType, aces, securityResults);
        }
 public static void CopyTo(this ISystemAcl sacl, ISystemAcl targetSacl, bool forceInheritance = false)
 {
     if (targetSacl.AllowInherit || forceInheritance)
     {
         foreach (IAccessControlEntryAudit ace in sacl)
         {
             if (ace.Inheritable || forceInheritance)
             {
                 targetSacl.Add((IAccessControlEntryAudit)ace.Clone());
             }
         }
     }
 }
        public static void Eval(this ISystemAcl sacl, SecurityResults securityResults)
        {
            Dictionary <Type, List <IAccessControlEntryAudit> > aceLists = new Dictionary <Type, List <IAccessControlEntryAudit> >();

            foreach (IAccessControlEntryAudit ace in sacl)
            {
                if (!aceLists.ContainsKey(ace.RightData.RightType))
                {
                    aceLists[ace.RightData.RightType] = new List <IAccessControlEntryAudit>();
                }

                aceLists[ace.RightData.RightType].Add(ace);
            }

            foreach (Type rightType in aceLists.Keys)
            {
                EvalAceList(rightType, aceLists[rightType], securityResults);
            }
        }
 public static void Eval <T>(this ISystemAcl sacl, SecurityResults securityResults) where T : struct, IConvertible
 {
     Eval(sacl, typeof(T), securityResults);
 }