Пример #1
0
 IEnumerable <T> IConfigDataProvider.FindPaged <T>(QueryFilter filter, ObjectId rootId, bool deepSearch, SortBy sortBy, int pageSize)
 {
     FfoRecipientSession.LogUnsupportedQueryFilter(typeof(T), filter);
     foreach (T t in this.FindImpl <T>(filter, rootId, deepSearch, sortBy, pageSize))
     {
         ConfigurableObject configurableObject = t as ConfigurableObject;
         if (configurableObject != null)
         {
             configurableObject.ResetChangeTracking();
         }
         yield return(t);
     }
     yield break;
 }
Пример #2
0
 private IEnumerable <T> FindImpl <T>(QueryFilter filter, ObjectId rootId, bool deepSearch, SortBy sortBy, int pageSize) where T : IConfigurable, new()
 {
     if (base.TenantId == null)
     {
         FfoDirectorySession.LogNotSupportedInFFO(null);
     }
     else
     {
         filter = this.AddFilterOperator(filter);
         if (typeof(T) == typeof(ExtendedSecurityPrincipal))
         {
             filter = FfoRecipientSession.ReduceSecurityPrincipalFilter(filter);
             IEnumerable <ADUser> users = base.FindAndHandleException <ADUser>(filter, rootId, deepSearch, sortBy, pageSize);
             foreach (ADUser user in users)
             {
                 yield return((T)((object)this.GetExtendedSecurityPrincipal(user)));
             }
         }
         else
         {
             IEnumerable <T> configObjs = base.FindAndHandleException <T>(base.AddTenantIdFilter(filter), rootId, deepSearch, sortBy, pageSize);
             foreach (T configObj in configObjs)
             {
                 ADObject adObject = configObj as ADObject;
                 if (adObject != null)
                 {
                     FfoDirectorySession.FixDistinguishedName(adObject, base.TenantId.DistinguishedName, base.TenantId.ObjectGuid, ((ADObjectId)adObject.Identity).ObjectGuid, null);
                     yield return((T)((object)this.FixRecipientProperties(adObject)));
                 }
                 else
                 {
                     yield return(configObj);
                 }
             }
         }
     }
     yield break;
 }