11using EasyWay . Samples . Domain ;
2+ using EasyWay . Samples . Domain . Policies ;
23
34namespace EasyWay . Samples . Commands
45{
@@ -14,24 +15,33 @@ internal sealed class SampleCommandHandler : ICommandHandler<SampleModule, Sampl
1415
1516 private readonly IConcurrencyConflictValidator _concurrencyTokenValidator ;
1617
18+ private readonly IEnumerable < ISamplePolicy > _policies ;
19+
1720 public SampleCommandHandler (
1821 ICancellationContext cancellationContext ,
1922 ISampleAggragateRootRepository repository ,
2023 SampleAggregateRootFactory factory ,
2124 SampleDomainService domainService ,
22- IConcurrencyConflictValidator concurrencyTokenValidator )
25+ IConcurrencyConflictValidator concurrencyTokenValidator ,
26+ IEnumerable < ISamplePolicy > policies )
2327 {
2428 _cancellationContext = cancellationContext ;
2529 _repository = repository ;
2630 _factory = factory ;
2731 _domainService = domainService ;
2832 _concurrencyTokenValidator = concurrencyTokenValidator ;
33+ _policies = policies ;
2934 }
3035
3136 public async Task Handle ( SampleCommand command )
3237 {
3338 var token = _cancellationContext . Token ;
3439
40+ var data = _policies
41+ . Where ( x => x . IsApplicable ( true ) )
42+ . Single ( )
43+ . Execute ( "DATA" ) ;
44+
3545 var x = _factory . Create ( ) ;
3646
3747 _concurrencyTokenValidator . Validate ( x , command ) ;
0 commit comments