Show / Hide Table of Contents

Interface IArchiveMultiQueryProvider

This interface defines a query provider that itself contains multiple sub-providers. The sub-providers each generate their own set of rows, and the task of the multi provider is to keep track of them and merge their data. The standard base class MultiQueryProviderBase implements this interface.

Inherited Members
IArchiveProviderHasRows.GetRows(String)
IArchiveProviderHasRows.GetReader(String)
IArchiveProviderHasRows.GetResultInformation()
IArchiveProviderHasRows.Close()
IArchiveProviderHasRows.SetPagingInfo(Int32, Int32)
IArchiveProviderHasColumns.GetAvailableColumns()
IArchiveProviderHasColumns.SetDesiredColumns(String[])
IArchiveProviderHasColumns.SetOrderBy(ArchiveOrderByInfo[])
IArchiveProviderHasColumns.SetRestriction(ArchiveRestrictionInfo[])
IArchiveProviderHasEntities.GetAvailableEntities()
IArchiveProviderHasEntities.SetDesiredEntities(String[])
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public interface IArchiveMultiQueryProvider : IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities, IPlugin

Properties

Providers

Current list of providers

Declaration
List<IArchiveProvider> Providers { get; }
Property Value
Type Description
List<IArchiveProvider>

Methods

AddSubProvider<ProviderType>(ProviderType)

Add one provider to this multi query provider; rows from all selected providers will be merged according to the orderby criteria in effect. Providers are selected through SetDesiredEntities.

Declaration
ProviderType AddSubProvider<ProviderType>(ProviderType subProvider)
    where ProviderType : IArchiveProvider
Parameters
Type Name Description
ProviderType subProvider

Provider to be added

Returns
Type Description
ProviderType
Type Parameters
Name Description
ProviderType

Type of provider, inferred from parameter

Remarks

The generic input and return types are there so that you can write code like the following:

SomeProvider provider = AddSubProvider( new SomeProvider() );

That is, the provider you add is considered simply as an IArchiveProvider (see the where clause of the declaration), but it is returned as the actual type you sent in, whatever that might be - so it can be assigned to a strongly typed member. This saves a line, as you would otherwise have to assign the newly created subprovider, and then add it. A small convenience...

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top