Beispiel #1
0
        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);
        }