예제 #1
0
        protected override IList <ABRawEntry> InternalFindByIds(ICollection <ABObjectId> ids, ABPropertyDefinitionCollection properties)
        {
            ADObjectId[] array = new ADObjectId[ids.Count];
            int          num   = 0;

            foreach (ABObjectId abobjectId in ids)
            {
                ADABObjectId adabobjectId = (ADABObjectId)abobjectId;
                array[num++] = adabobjectId.NativeId;
            }
            Result <ADRawEntry>[] activeDirectoryRawEntries;
            try
            {
                activeDirectoryRawEntries = this.recipientSession.ReadMultiple(array, ADABPropertyMapper.ConvertToADProperties(properties));
            }
            catch (DataSourceOperationException ex)
            {
                throw new ABOperationException(ex.LocalizedString, ex);
            }
            catch (DataSourceTransientException ex2)
            {
                throw new ABTransientException(ex2.LocalizedString, ex2);
            }
            return(this.ADRawEntryResultsToABRawEntries(properties, activeDirectoryRawEntries));
        }
예제 #2
0
        protected override ABRawEntry InternalFindById(ABObjectId id, ABPropertyDefinitionCollection properties)
        {
            ADABObjectId adabobjectId = (ADABObjectId)id;
            ADRawEntry   rawEntry;

            try
            {
                rawEntry = this.recipientSession.ReadADRawEntry(adabobjectId.NativeId, ADABPropertyMapper.ConvertToADProperties(properties));
            }
            catch (DataSourceOperationException ex)
            {
                throw new ABOperationException(ex.LocalizedString, ex);
            }
            catch (DataSourceTransientException ex2)
            {
                throw new ABTransientException(ex2.LocalizedString, ex2);
            }
            return(new ADABRawEntry(this, properties, rawEntry));
        }