public override void VisitAggregateInitializerExpression(AggregateInitializerExpression aggregateInitializerExpression) { foreach (var element in aggregateInitializerExpression.Elements) { element.Accept(this); } var aggregate = new AggregateTypeInfo(); aggregate.SetElementType(TypeInfo.Generic); expressionTypes_[aggregateInitializerExpression] = aggregate; }
public async Task HandleAsync(FakeEvent message, AggregateTypeInfo <FakeAggregate> info) { Logger.LogInformation("Handle FakeEvent {AggregateId}", message.AggregateId); var tasksToRun = new List <Task>(); await LockProvider.TryUsingAsync(message.AggregateId, async token => { var agg = await Repository.GetByIdAsync <FakeAggregate>(message.AggregateId); agg.DoFakeEvent2("zweite runde 2"); //await Repository.SaveAsync(agg, CancellationToken); var evnts = await Repository.SaveAsyncWithOutPush(agg, CancellationToken); foreach (var evnt in evnts) { tasksToRun.Add(Bus.PublishAsync(evnt)); } }, cancellationToken : CancellationToken); await Task.WhenAll(tasksToRun); }
private string LockId(FakeEvent arg1, AggregateTypeInfo <FakeAggregate> arg2) { return(arg2.AggregateId); }