21
21
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
23
23
using System . Linq ;
24
+ using System . Threading ;
25
+ using System . Threading . Tasks ;
24
26
using EventFlow . Aggregates ;
25
27
using EventFlow . ReadStores ;
26
28
using EventFlow . TestHelpers . Aggregates ;
27
29
using EventFlow . TestHelpers . Aggregates . Entities ;
28
30
using EventFlow . TestHelpers . Aggregates . Events ;
29
31
using Nest ;
30
32
31
- namespace EventFlow . Elasticsearch . Tests . IntegrationTests . ReadModels
33
+ namespace EventFlow . Elasticsearch . Tests . IntegrationTests . ReadModels ;
34
+
35
+ [ ElasticsearchType ( IdProperty = "Id" , RelationName = "message" ) ]
36
+ public class ElasticsearchThingyMessageReadModel : IReadModel ,
37
+ IAmReadModelFor < ThingyAggregate , ThingyId , ThingyMessageAddedEvent > ,
38
+ IAmReadModelFor < ThingyAggregate , ThingyId , ThingyMessageHistoryAddedEvent >
32
39
{
33
- [ ElasticsearchType ( IdProperty = "Id" , RelationName = "message" ) ]
34
- public class ElasticsearchThingyMessageReadModel : IReadModel ,
35
- IAmReadModelFor < ThingyAggregate , ThingyId , ThingyMessageAddedEvent > ,
36
- IAmReadModelFor < ThingyAggregate , ThingyId , ThingyMessageHistoryAddedEvent >
37
- {
38
- public string Id { get ; set ; }
40
+ public string Id { get ; set ; }
39
41
40
- [ Keyword (
41
- Name = "ThingyId" ,
42
- Index = true ) ]
43
- public string ThingyId { get ; set ; }
42
+ [ Keyword (
43
+ Name = "ThingyId" ,
44
+ Index = true ) ]
45
+ public string ThingyId { get ; set ; }
44
46
45
- [ Text (
46
- Name = "Message" ,
47
- Index = false ) ]
48
- public string Message { get ; set ; }
47
+ [ Text (
48
+ Name = "Message" ,
49
+ Index = false ) ]
50
+ public string Message { get ; set ; }
49
51
50
- public void Apply ( IReadModelContext context , IDomainEvent < ThingyAggregate , ThingyId , ThingyMessageAddedEvent > domainEvent )
51
- {
52
- ThingyId = domainEvent . AggregateIdentity . Value ;
52
+ public Task ApplyAsync ( IReadModelContext context ,
53
+ IDomainEvent < ThingyAggregate , ThingyId , ThingyMessageAddedEvent > domainEvent ,
54
+ CancellationToken cancellationToken )
55
+ {
56
+ ThingyId = domainEvent . AggregateIdentity . Value ;
53
57
54
- var thingyMessage = domainEvent . AggregateEvent . ThingyMessage ;
55
- Id = thingyMessage . Id . Value ;
56
- Message = thingyMessage . Message ;
57
- }
58
+ var thingyMessage = domainEvent . AggregateEvent . ThingyMessage ;
59
+ Id = thingyMessage . Id . Value ;
60
+ Message = thingyMessage . Message ;
61
+ return Task . CompletedTask ;
62
+ }
58
63
59
- public void Apply ( IReadModelContext context , IDomainEvent < ThingyAggregate , ThingyId , ThingyMessageHistoryAddedEvent > domainEvent )
60
- {
61
- ThingyId = domainEvent . AggregateIdentity . Value ;
64
+ public Task ApplyAsync ( IReadModelContext context ,
65
+ IDomainEvent < ThingyAggregate , ThingyId , ThingyMessageHistoryAddedEvent > domainEvent ,
66
+ CancellationToken cancellationToken )
67
+ {
68
+ ThingyId = domainEvent . AggregateIdentity . Value ;
62
69
63
- var messageId = new ThingyMessageId ( context . ReadModelId ) ;
64
- var thingyMessage = domainEvent . AggregateEvent . ThingyMessages . Single ( m => m . Id == messageId ) ;
65
- Id = messageId . Value ;
66
- Message = thingyMessage . Message ;
67
- }
70
+ var messageId = new ThingyMessageId ( context . ReadModelId ) ;
71
+ var thingyMessage = domainEvent . AggregateEvent . ThingyMessages . Single ( m => m . Id == messageId ) ;
72
+ Id = messageId . Value ;
73
+ Message = thingyMessage . Message ;
74
+ return Task . CompletedTask ;
75
+ }
68
76
69
- public ThingyMessage ToThingyMessage ( )
70
- {
71
- return new ThingyMessage (
72
- ThingyMessageId . With ( Id ) ,
73
- Message ) ;
74
- }
77
+ public ThingyMessage ToThingyMessage ( )
78
+ {
79
+ return new ThingyMessage (
80
+ ThingyMessageId . With ( Id ) ,
81
+ Message ) ;
75
82
}
76
83
}
0 commit comments