Class CriteriaController<T, TSpec>
public class CriteriaController<T, TSpec> : CriteriaController<T>, IScreenController<CriteriaModel<T>>, IScreenController where T : IEntity<T> where TSpec : EntitySpecificationBase<T>
Type Parameters
TTSpec
- 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
servicesIServicesqueryFactoryFunc<IEntityContext, IEntityQuery<T>>factoryFactoryFunc<ISurface, bool, ICriteriaFactory<T, TSpec>>configureAction<CriteriaOptions>
Properties
HasActiveTabs
true if any criteria are active
public override bool HasActiveTabs { get; }
Property Value
Tabs
public override IReadOnlyList<TabController<T>> Tabs { get; }
Property Value
Methods
CheckActive()
update the active state of all criteria
public override void CheckActive()
CreateUninitialisedModel(ISurface)
protected override CriteriaModel<T> CreateUninitialisedModel(ISurface s)
Parameters
sISurface
Returns
GetActiveQuery(IEntityContext)
returns a query which will apply all global and active criteria
public override IEntityQuery<T> GetActiveQuery(IEntityContext context)
Parameters
contextIEntityContext
Returns
- IEntityQuery<T>
GetCriteria()
returns a tree containing all global and active criteria
public override ICriteriaTree<T> GetCriteria()
Returns
GetGlobalQuery(IEntityContext)
returns a query applying only global criteria
public override IEntityQuery<T> GetGlobalQuery(IEntityContext context)
Parameters
contextIEntityContext
Returns
- IEntityQuery<T>
InitialiseModel(CriteriaModel<T>)
protected override void InitialiseModel(CriteriaModel<T> vm)
Parameters
vmCriteriaModel<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
requirementsResultStatecancellationTokenCancellationToken