Line data Source code
1 : #region Copyright
2 : // -----------------------------------------------------------------------
3 : // <copyright company="Chinchilla Software Limited">
4 : // Copyright Chinchilla Software Limited. All rights reserved.
5 : // </copyright>
6 : // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System;
10 : using System.Collections.Generic;
11 : using System.ServiceModel;
12 : using Cqrs.Events;
13 : using Cqrs.Messages;
14 :
15 : namespace Cqrs.Services
16 : {
17 : /// <summary>
18 : /// A WCF <see cref="ServiceContractAttribute">ServiceContract</see> that provides read-only access to <see cref="IEventStore{TAuthenticationToken}"/> <see cref="IEvent{TAuthenticationToken}">events</see>
19 : /// raised with the same <see cref="IMessage.CorrelationId"/>.
20 : /// </summary>
21 : /// <typeparam name="TAuthenticationToken">The <see cref="Type"/> of authentication token.</typeparam>
22 : [ServiceContract(Namespace = "https://getcqrs.net/Domain/1001/")]
23 : public interface IEventService<TAuthenticationToken>
24 : {
25 : /// <summary>
26 : /// Get all <see cref="IEvent{TAuthenticationToken}">events</see>
27 : /// raised with the same <see cref="IMessage.CorrelationId"/>.
28 : /// </summary>
29 : /// <param name="serviceRequest">The <see cref="IMessage.CorrelationId"/> of the <see cref="IEvent{TAuthenticationToken}">events</see> to find.</param>
30 : [OperationContract]
31 1 : IServiceResponseWithResultData<IEnumerable<EventData>> GetEventData(IServiceRequestWithData<TAuthenticationToken, Guid> serviceRequest);
32 : }
33 : }
|