Example #1
0
 protected ForwardOnlyFilteredReader(ForwardOnlyFilteredReader.PropertySetMixer propertySets, bool usePrefetchMode)
 {
     this.allPropertySets   = propertySets;
     this.usePrefetchMode   = usePrefetchMode;
     this.queryPropertySets = new ForwardOnlyFilteredReader.PropertySetMixer(new Predicate <PropertyDefinition>(this.ShouldIntercept));
     this.queryPropertySets.MigrateSets(this.allPropertySets, new ForwardOnlyFilteredReader.PropertySet[]
     {
         ForwardOnlyFilteredReader.PropertySet.Identification,
         ForwardOnlyFilteredReader.PropertySet.ForFilter
     });
     if (this.usePrefetchMode)
     {
         this.queryPropertySets.MigrateSets(this.allPropertySets, new ForwardOnlyFilteredReader.PropertySet[]
         {
             ForwardOnlyFilteredReader.PropertySet.Requested
         });
     }
     else
     {
         this.queryPropertySets.AddSet(ForwardOnlyFilteredReader.PropertySet.Requested, this.allPropertySets.GetSet(ForwardOnlyFilteredReader.PropertySet.Identification));
         this.populationPropertySets = new ForwardOnlyFilteredReader.PropertySetMixer(new Predicate <PropertyDefinition>(this.ShouldIntercept));
         this.populationPropertySets.MigrateSets(this.allPropertySets, new ForwardOnlyFilteredReader.PropertySet[]
         {
             ForwardOnlyFilteredReader.PropertySet.Identification,
             ForwardOnlyFilteredReader.PropertySet.Requested
         });
     }
     this.query          = new LazilyInitialized <QueryResult>(() => this.MakeQuery(this.queryPropertySets.GetFilteredMergedSet()));
     this.disposeTracker = this.GetDisposeTracker();
 }
Example #2
0
 private static ForwardOnlyFilteredReader.PropertySetMixer GetPropertySets(IDictionary <PropertyDefinition, object> dictionary, PropertyDefinition[] propertiesToReturn)
 {
     ForwardOnlyFilteredReader.PropertySetMixer propertySetMixer = new ForwardOnlyFilteredReader.PropertySetMixer();
     propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.Identification, new PropertyDefinition[]
     {
         InternalSchema.EntryId
     });
     propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.ForFilter, ContactsFolder.FindNamesContactsReader.GetForFilterSet(dictionary.Keys));
     propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.Requested, propertiesToReturn);
     return(propertySetMixer);
 }
Example #3
0
 private static ForwardOnlyFilteredReader.PropertySetMixer GetPropertySets(params PropertyDefinition[] propertiesToReturn)
 {
     ForwardOnlyFilteredReader.PropertySetMixer propertySetMixer = new ForwardOnlyFilteredReader.PropertySetMixer();
     propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.Identification, new PropertyDefinition[]
     {
         ContactsFolder.FindSomeoneContactsReader.idProperty
     });
     propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.ForFilter, Util.CollectionToArray <StorePropertyDefinition>(ContactsFolder.AnrCriteria.AnrProperties));
     propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.Requested, propertiesToReturn);
     return(propertySetMixer);
 }
Example #4
0
            private static ForwardOnlyFilteredReader.PropertySetMixer GetPropertySets(params PropertyDefinition[] propertiesToReturn)
            {
                List <PropertyDefinition> list = new List <PropertyDefinition>();

                list.Add(ContactsFolder.AnrContactsReader.idProperty);
                list.AddRange(ContactsFolder.AnrCriteria.AnrProperties.Cast <PropertyDefinition>());
                Util.AddRange <PropertyDefinition, ContactEmailSlotParticipantProperty>(list, ContactEmailSlotParticipantProperty.AllInstances.Values);
                list.AddRange(ContactsFolder.AnrContactsReader.additionalProperties);
                ForwardOnlyFilteredReader.PropertySetMixer propertySetMixer = new ForwardOnlyFilteredReader.PropertySetMixer();
                propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.Identification, new PropertyDefinition[]
                {
                    ContactsFolder.AnrContactsReader.idProperty
                });
                propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.ForFilter, list.ToArray());
                propertySetMixer.AddSet(ForwardOnlyFilteredReader.PropertySet.Requested, propertiesToReturn);
                return(propertySetMixer);
            }