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))); }
public void MapDomainEvent <TDomainEvent>(Expression <Func <TProcess, Event <TDomainEvent> > > machineEvent, Expression <Func <TDomainEvent, Guid> > correlationFieldExpression) { AddAcceptedMessage(typeof(TDomainEvent), MemberNameExtractor.GetName(correlationFieldExpression)); }
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)); }
public static ExpectedMessage <T> Message <T>(Expression <Func <T, Guid> > idPropertyNameExpression, Guid messageId) { return(Message <T>(MemberNameExtractor.GetName(idPropertyNameExpression), messageId)); }
protected void Event <TEventData>(Expression <Func <Event <TEventData> > > propertyExpression, Expression <Func <TEventData, object> > fieldExpr) { Event(propertyExpression, MemberNameExtractor.GetName(fieldExpr)); }