private void DoCustomerChanged()
 {
     if (!haltEvents && (CustomerChanged != null))
     {
         CustomerChanged.Invoke(this, new EventArgs());
     }
 }
        public async Task When(CustomerChanged e)
        {
            var customer = await _repository.Get(e.AggregateId);

            if (customer == null)
            {
                throw new InvalidOperationException($"Customer {e.AggregateId} does not exist");
            }

            _mapper.Map(e, customer);
            await _repository.SaveChangesAsync();
        }