1. Stylelabs.M.Sdk.Models.Querying

Class LoadingQueryIteratorBase

Base implementation for Query iterators that support loading of entities.

Inheritance

object

LoadingQueryIteratorBase

EntityIterator

Implements

IQueryIterator

IIterator

Namespace: StylelabsStylelabs.MSdkStylelabs.M.Sdk.ModelsQuerying

Assembly: Stylelabs.M.Sdk.dll

Syntax

public abstract class LoadingQueryIteratorBase<T> : IQueryIterator<T>, IIterator where T : class, IQueryResult

Type Parameters

NameDescription
TThe type result returned by the iterator.

Constructors

LoadingQueryIteratorBase(Query, IEntityLoadConfiguration, T)

Initializes a new instance of the LoadingQueryIteratorBase class.

Declaration

protected LoadingQueryIteratorBase(Query query, IEntityLoadConfiguration loadConfiguration, T result)

Parameters

TypeNameDescription
QueryqueryThe 'request' query.
IEntityLoadConfigurationloadConfigurationThe load configuration.
TresultThe current result.

LoadingQueryIteratorBase(Query, IEntityLoadConfiguration)

Initializes a new instance of the LoadingQueryIteratorBase class. Optionally, you can pass a result, and the iterator will continue from that point on.

Declaration

protected LoadingQueryIteratorBase(Query query, IEntityLoadConfiguration loadConfiguration)

Parameters

TypeNameDescription
QueryqueryThe 'request' query.
IEntityLoadConfigurationloadConfigurationThe load configuration.

Properties

Current

Gets get the current result during iteration.

Declaration

public T Current { get; }

Property Value

TypeDescription
T

Methods

CanMoveNext()

Checks if the iterator can move further through the results.

Declaration

public bool CanMoveNext()

Returns

TypeDescription
booltrue if there more results.

CanMovePrevious()

Checks if the iterator can move backwards through the results.

Declaration

public bool CanMovePrevious()

Returns

TypeDescription
booltrue if there move backwards.

GetResultAsync(Query, IEntityLoadConfiguration)

Gets the results.

Declaration

protected abstract Task<T> GetResultAsync(Query query, IEntityLoadConfiguration loadConfiguration)

Parameters

TypeNameDescription
QueryqueryThe 'request' query.
IEntityLoadConfigurationloadConfigurationThe load configuration.

Returns

TypeDescription
Task<>The query results.

MoveNextAsync()

Advances the enumerator to the next page/batch of the collection. The result will be available in Current.

Declaration

public Task<bool> MoveNextAsync()

Returns

TypeDescription
Task<>booltrue if the enumerator was successfully advanced to the next page; false if the enumerator has passed the end of the collection.

MovePreviousAsync()

Moves the enumerator backwards, to the previous page/batch of the collection. The result will be available in Current.

Declaration

public Task<bool> MovePreviousAsync()

Returns

TypeDescription
Task<>booltrue if the enumerator was successfully advanced to the previous page; false if the enumerator has passed the start of the collection.

Reset()

Resets the iterator to start before the first result again.

Declaration

public void Reset()

Explicit Interface Implementations

IIterator.Current

Gets the current result. This is initially null. Use MoveNextAsync() first.

Declaration

object IIterator.Current { get; }

Returns

TypeDescription
object

Implements

IQueryIterator

IIterator

If you have suggestions for improving this article, let us know!