Exemplo n.º 1
0
        public async Task Handle(PersonCreatedEvent @event)
        {
            var person = @event.Person;
            var filter = CreateFilter(person);

            Transaction = TransactionManager.BeginTransaction();

            try
            {
                await HandleCategoryCounters(filter);
                await HandleCityCounters(person, filter);

                TransactionManager.CommitTransaction(Transaction);
                await Sender.NotifyAll();
            }
            catch (Exception e)
            {
                TransactionManager.RollBackTransaction(Transaction);
                throw e;
            }
        }