Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="cdmdotnet Limited">
4 : // // Copyright cdmdotnet Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System;
10 : using System.Collections.Generic;
11 : using System.Runtime.Serialization;
12 : using Cqrs.Messages;
13 :
14 : namespace Cqrs.Events
15 : {
16 : public class SagaEvent<TAuthenticationToken>
17 : : ISagaEvent<TAuthenticationToken>
18 0 : {
19 0 : public SagaEvent() { }
20 :
21 0 : public SagaEvent(IEvent<TAuthenticationToken> @event)
22 : {
23 : Event = @event;
24 : }
25 :
26 : #region Implementation of IMessage
27 :
28 : [DataMember]
29 : public Guid CorrelationId { get; set; }
30 :
31 : /// <summary>
32 : /// The originating framework this message was sent from.
33 : /// </summary>
34 : [DataMember]
35 : public string OriginatingFramework { get; set; }
36 :
37 : /// <summary>
38 : /// The frameworks this <see cref="IMessage"/> has been delivered to/sent via already.
39 : /// </summary>
40 : [DataMember]
41 : public IEnumerable<string> Frameworks { get; set; }
42 :
43 : #endregion
44 :
45 : #region Implementation of IMessageWithAuthenticationToken<TAuthenticationToken>
46 :
47 : [DataMember]
48 : public TAuthenticationToken AuthenticationToken { get; set; }
49 :
50 : #endregion
51 :
52 : #region Implementation of ISagaEvent<TAuthenticationToken,TEvent>
53 :
54 : [DataMember]
55 : public Guid Id { get; set; }
56 :
57 : [DataMember]
58 : public int Version { get; set; }
59 :
60 : [DataMember]
61 : public DateTimeOffset TimeStamp { get; set; }
62 :
63 : [DataMember]
64 : public IEvent<TAuthenticationToken> Event { get; set; }
65 :
66 : #endregion
67 : }
68 : }
|