Table of Contents

Class CriteriaController<T, TSpec>

Namespace
The.WPF.Screens
Assembly
Instagile.WPF.dll
public class CriteriaController<T, TSpec> : CriteriaController<T>, IScreenController<CriteriaModel<T>>, IScreenController where T : IEntity<T> where TSpec : EntitySpecificationBase<T>

Type Parameters

T
TSpec
Inheritance
CriteriaController<T, TSpec>
Implements
Inherited Members

Constructors

CriteriaController(IServices, Func<IEntityContext, IEntityQuery<T>>, Func<ISurface, bool, ICriteriaFactory<T, TSpec>>, Action<CriteriaOptions>?)

public CriteriaController(IServices services, Func<IEntityContext, IEntityQuery<T>> queryFactory, Func<ISurface, bool, ICriteriaFactory<T, TSpec>> factoryFactory, Action<CriteriaOptions>? configure)

Parameters

services IServices
queryFactory Func<IEntityContext, IEntityQuery<T>>
factoryFactory Func<ISurface, bool, ICriteriaFactory<T, TSpec>>
configure Action<CriteriaOptions>

Properties

HasActiveTabs

true if any criteria are active

public override bool HasActiveTabs { get; }

Property Value

bool

Tabs

public override IReadOnlyList<TabController<T>> Tabs { get; }

Property Value

IReadOnlyList<TabController<T>>

Methods

CheckActive()

update the active state of all criteria

public override void CheckActive()

CreateUninitialisedModel(ISurface)

protected override CriteriaModel<T> CreateUninitialisedModel(ISurface s)

Parameters

s ISurface

Returns

CriteriaModel<T>

GetActiveQuery(IEntityContext)

returns a query which will apply all global and active criteria

public override IEntityQuery<T> GetActiveQuery(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<T>

GetCriteria()

returns a tree containing all global and active criteria

public override ICriteriaTree<T> GetCriteria()

Returns

ICriteriaTree<T>

GetGlobalQuery(IEntityContext)

returns a query applying only global criteria

public override IEntityQuery<T> GetGlobalQuery(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<T>

InitialiseModel(CriteriaModel<T>)

protected override void InitialiseModel(CriteriaModel<T> vm)

Parameters

vm CriteriaModel<T>

ResetCriteria()

clear and deactivate all criteria

public override void ResetCriteria()

UpdateCountsAsync(ResultState, CancellationToken)

update the counts of active criteria, stopping once the token says they are no longer wanted

public override Task UpdateCountsAsync(ResultState requirements, CancellationToken cancellationToken)

Parameters

requirements ResultState
cancellationToken CancellationToken

Returns

Task