1- using MediatR . CommandQuery . Behaviors ;
21using MediatR . CommandQuery . Commands ;
32using MediatR . CommandQuery . Definitions ;
43using MediatR . CommandQuery . EntityFrameworkCore . Handlers ;
5- using MediatR . CommandQuery . Extensions ;
64using MediatR . CommandQuery . Queries ;
75using MediatR . CommandQuery . Services ;
86
@@ -29,20 +27,7 @@ public static IServiceCollection AddEntityQueries<TContext, TEntity, TKey, TRead
2927 services . TryAddTransient < IRequestHandler < EntityPagedQuery < TReadModel > , EntityPagedResult < TReadModel > > , EntityPagedQueryHandler < TContext , TEntity , TReadModel > > ( ) ;
3028 services . TryAddTransient < IRequestHandler < EntitySelectQuery < TReadModel > , IReadOnlyCollection < TReadModel > > , EntitySelectQueryHandler < TContext , TEntity , TReadModel > > ( ) ;
3129
32- // pipeline registration, run in order registered
33- bool supportsTenant = typeof ( TReadModel ) . Implements < IHaveTenant < TKey > > ( ) ;
34- if ( supportsTenant )
35- {
36- services . AddTransient < IPipelineBehavior < EntityPagedQuery < TReadModel > , EntityPagedResult < TReadModel > > , TenantPagedQueryBehavior < TKey , TReadModel > > ( ) ;
37- services . AddTransient < IPipelineBehavior < EntitySelectQuery < TReadModel > , IReadOnlyCollection < TReadModel > > , TenantSelectQueryBehavior < TKey , TReadModel > > ( ) ;
38- }
39-
40- bool supportsDeleted = typeof ( TReadModel ) . Implements < ITrackDeleted > ( ) ;
41- if ( supportsDeleted )
42- {
43- services . AddTransient < IPipelineBehavior < EntityPagedQuery < TReadModel > , EntityPagedResult < TReadModel > > , DeletedPagedQueryBehavior < TReadModel > > ( ) ;
44- services . AddTransient < IPipelineBehavior < EntitySelectQuery < TReadModel > , IReadOnlyCollection < TReadModel > > , DeletedSelectQueryBehavior < TReadModel > > ( ) ;
45- }
30+ services . AddEntityQueryBehaviors < TKey , TReadModel > ( ) ;
4631
4732 return services ;
4833 }
@@ -81,21 +66,7 @@ public static IServiceCollection AddEntityCreateCommand<TContext, TEntity, TKey,
8166 // standard crud commands
8267 services . TryAddTransient < IRequestHandler < EntityCreateCommand < TCreateModel , TReadModel > , TReadModel > , EntityCreateCommandHandler < TContext , TEntity , TKey , TCreateModel , TReadModel > > ( ) ;
8368
84- // pipeline registration, run in order registered
85- var createType = typeof ( TCreateModel ) ;
86- bool supportsTenant = createType . Implements < IHaveTenant < TKey > > ( ) ;
87- if ( supportsTenant )
88- {
89- services . AddTransient < IPipelineBehavior < EntityCreateCommand < TCreateModel , TReadModel > , TReadModel > , TenantDefaultCommandBehavior < TKey , TCreateModel , TReadModel > > ( ) ;
90- services . AddTransient < IPipelineBehavior < EntityCreateCommand < TCreateModel , TReadModel > , TReadModel > , TenantAuthenticateCommandBehavior < TKey , TCreateModel , TReadModel > > ( ) ;
91- }
92-
93- bool supportsTracking = createType . Implements < ITrackCreated > ( ) ;
94- if ( supportsTracking )
95- services . AddTransient < IPipelineBehavior < EntityCreateCommand < TCreateModel , TReadModel > , TReadModel > , TrackChangeCommandBehavior < TCreateModel , TReadModel > > ( ) ;
96-
97- services . AddTransient < IPipelineBehavior < EntityCreateCommand < TCreateModel , TReadModel > , TReadModel > , ValidateEntityModelCommandBehavior < TCreateModel , TReadModel > > ( ) ;
98- services . AddTransient < IPipelineBehavior < EntityCreateCommand < TCreateModel , TReadModel > , TReadModel > , EntityChangeNotificationBehavior < TKey , TCreateModel , TReadModel > > ( ) ;
69+ services . AddEntityCreateBehaviors < TKey , TReadModel , TCreateModel > ( ) ;
9970
10071 return services ;
10172 }
@@ -114,21 +85,7 @@ public static IServiceCollection AddEntityUpdateCommand<TContext, TEntity, TKey,
11485 // standard crud commands
11586 services . TryAddTransient < IRequestHandler < EntityUpdateCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , EntityUpdateCommandHandler < TContext , TEntity , TKey , TUpdateModel , TReadModel > > ( ) ;
11687
117- // pipeline registration, run in order registered
118- var updateType = typeof ( TUpdateModel ) ;
119- bool supportsTenant = updateType . Implements < IHaveTenant < TKey > > ( ) ;
120- if ( supportsTenant )
121- {
122- services . AddTransient < IPipelineBehavior < EntityUpdateCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , TenantDefaultCommandBehavior < TKey , TUpdateModel , TReadModel > > ( ) ;
123- services . AddTransient < IPipelineBehavior < EntityUpdateCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , TenantAuthenticateCommandBehavior < TKey , TUpdateModel , TReadModel > > ( ) ;
124- }
125-
126- bool supportsTracking = updateType . Implements < ITrackUpdated > ( ) ;
127- if ( supportsTracking )
128- services . AddTransient < IPipelineBehavior < EntityUpdateCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , TrackChangeCommandBehavior < TUpdateModel , TReadModel > > ( ) ;
129-
130- services . AddTransient < IPipelineBehavior < EntityUpdateCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , ValidateEntityModelCommandBehavior < TUpdateModel , TReadModel > > ( ) ;
131- services . AddTransient < IPipelineBehavior < EntityUpdateCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , EntityChangeNotificationBehavior < TKey , TUpdateModel , TReadModel > > ( ) ;
88+ services . AddEntityUpdateBehaviors < TKey , TReadModel , TUpdateModel > ( ) ;
13289
13390 return services ;
13491 }
@@ -143,21 +100,7 @@ public static IServiceCollection AddEntityUpsertCommand<TContext, TEntity, TKey,
143100 // standard crud commands
144101 services . TryAddTransient < IRequestHandler < EntityUpsertCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , EntityUpsertCommandHandler < TContext , TEntity , TKey , TUpdateModel , TReadModel > > ( ) ;
145102
146- // pipeline registration, run in order registered
147- var updateType = typeof ( TUpdateModel ) ;
148- bool supportsTenant = updateType . Implements < IHaveTenant < TKey > > ( ) ;
149- if ( supportsTenant )
150- {
151- services . AddTransient < IPipelineBehavior < EntityUpsertCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , TenantDefaultCommandBehavior < TKey , TUpdateModel , TReadModel > > ( ) ;
152- services . AddTransient < IPipelineBehavior < EntityUpsertCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , TenantAuthenticateCommandBehavior < TKey , TUpdateModel , TReadModel > > ( ) ;
153- }
154-
155- bool supportsTracking = updateType . Implements < ITrackUpdated > ( ) ;
156- if ( supportsTracking )
157- services . AddTransient < IPipelineBehavior < EntityUpsertCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , TrackChangeCommandBehavior < TUpdateModel , TReadModel > > ( ) ;
158-
159- services . AddTransient < IPipelineBehavior < EntityUpsertCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , ValidateEntityModelCommandBehavior < TUpdateModel , TReadModel > > ( ) ;
160- services . AddTransient < IPipelineBehavior < EntityUpsertCommand < TKey , TUpdateModel , TReadModel > , TReadModel > , EntityChangeNotificationBehavior < TKey , TUpdateModel , TReadModel > > ( ) ;
103+ services . AddEntityUpsertBehaviors < TKey , TReadModel , TUpdateModel > ( ) ;
161104
162105 return services ;
163106 }
@@ -171,8 +114,7 @@ public static IServiceCollection AddEntityPatchCommand<TContext, TEntity, TKey,
171114 // standard crud commands
172115 services . TryAddTransient < IRequestHandler < EntityPatchCommand < TKey , TReadModel > , TReadModel > , EntityPatchCommandHandler < TContext , TEntity , TKey , TReadModel > > ( ) ;
173116
174- // pipeline registration, run in order registered
175- services . AddTransient < IPipelineBehavior < EntityPatchCommand < TKey , TReadModel > , TReadModel > , EntityChangeNotificationBehavior < TKey , TEntity , TReadModel > > ( ) ;
117+ services . AddEntityPatchBehaviors < TKey , TEntity , TReadModel > ( ) ;
176118
177119 return services ;
178120 }
@@ -186,9 +128,9 @@ public static IServiceCollection AddEntityDeleteCommand<TContext, TEntity, TKey,
186128 // standard crud commands
187129 services . TryAddTransient < IRequestHandler < EntityDeleteCommand < TKey , TReadModel > , TReadModel > , EntityDeleteCommandHandler < TContext , TEntity , TKey , TReadModel > > ( ) ;
188130
189- // pipeline registration, run in order registered
190- services . AddTransient < IPipelineBehavior < EntityDeleteCommand < TKey , TReadModel > , TReadModel > , EntityChangeNotificationBehavior < TKey , TEntity , TReadModel > > ( ) ;
131+ services . AddEntityDeleteBehaviors < TKey , TEntity , TReadModel > ( ) ;
191132
192133 return services ;
193134 }
135+
194136}
0 commit comments