Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 private string LockId(FakeEvent arg1, AggregateTypeInfo <FakeAggregate> arg2)
 {
     return(arg2.AggregateId);
 }