示例#1
0
        public static ExpectedFault <T> Fault <T>(Expression <Func <T, Guid> > idPropertyNameExpression, Guid messageId, params Type [] source)
        {
            var expectedFault = new ExpectedFault <T>(1, MemberNameExtractor.GetName(idPropertyNameExpression), messageId, source);

            ExpectedMessage.VerifyIdPropertyName(expectedFault.ProcessMessageType, expectedFault.IdPropertyName);
            return(expectedFault);
        }
 public static AggregateCommandHandler <TAggregate> New <TCommand>(Expression <Func <TCommand, Guid> > idLocator,
                                                                   Action <TCommand, TAggregate> commandExecutor, IUnityContainer container) where TCommand : ICommand
 {
     return(new AggregateCommandHandler <TAggregate>(MemberNameExtractor.GetName(idLocator),
                                                     c => idLocator.Compile()((TCommand)c),
                                                     (cmd, agr) =>
     {
         commandExecutor((TCommand)cmd, agr);
         return agr;
     },
                                                     container));
 }
 //TODO: add version without correlation property
 public static Task RegisterHandler <TMessage, THandler>(this IMessagesRouter router,
                                                         Expression <Func <TMessage, Guid> > correlationPropertyExpression = null) where THandler : IHandler <TMessage>
 {
     return(router.RegisterHandler <TMessage, THandler>(MemberNameExtractor.GetName(correlationPropertyExpression)));
 }
示例#4
0
 public void MapDomainEvent <TDomainEvent>(Expression <Func <TProcess, Event <TDomainEvent> > > machineEvent,
                                           Expression <Func <TDomainEvent, Guid> > correlationFieldExpression)
 {
     AddAcceptedMessage(typeof(TDomainEvent), MemberNameExtractor.GetName(correlationFieldExpression));
 }
示例#5
0
 public static void Add <TMessage, THandler>(this ProjectionGroup group,
                                             Expression <Func <TMessage, Guid> > correlationPropertyExpression) where THandler : IHandler <TMessage> where TMessage : class
 {
     group.Add <TMessage, THandler>(MemberNameExtractor.GetName(correlationPropertyExpression));
 }
示例#6
0
 public static ExpectedMessage <T> Message <T>(Expression <Func <T, Guid> > idPropertyNameExpression, Guid messageId)
 {
     return(Message <T>(MemberNameExtractor.GetName(idPropertyNameExpression), messageId));
 }
示例#7
0
 protected void Event <TEventData>(Expression <Func <Event <TEventData> > > propertyExpression, Expression <Func <TEventData, object> > fieldExpr)
 {
     Event(propertyExpression, MemberNameExtractor.GetName(fieldExpr));
 }