public async Task <Unit> Handle(CreateEventCommand message, CancellationToken cancellationToken) { Log.Information($"Creating Event: {message.Name}"); var e = new Event(message.EventId, message.Name); _eventRepository.Add(e); await _eventRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken); var venue = new Venue(message.VenueId, message.EventId); foreach (var section in message.VenueSections.ToList()) { venue.AddSection(venue.Id, section.Ordinal, section.Price, section.Rows, section.Columns); } _venueRepository.Add(venue); await _venueRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken); return(Unit.Value); }