public async Task CreateConcert(CreateConcertRequest request)
        {
            var concert = new Concert(request.Name, new TicketQuantity(request.SeatingCapacity));
            await _concertRepository.AddConcert(concert);

            await _eventPublisher.Publish(new ConcertCreatedEvent(Guid.NewGuid().ToString(), concert.Id, concert.Name, concert.SeatingCapacity));
        }
Пример #2
0
        public async Task <IActionResult> PostConcert([FromBody] Concert concert)
        {
            _logger.LogInformation("-> requested POST /concerts");
            if (!ModelState.IsValid)
            {
                _logger.LogError("-> POST /concerts model is not valid");
                _logger.LogInformation("-> POST /concerts returned BadRequest");
                return(BadRequest(ModelState));
            }

            concert = _repo.AddConcert(concert);
            await _repo.SaveChanges();

            _logger.LogInformation("-> POST /concerts returned Created with id = {id}", concert.Id);
            return(CreatedAtAction("GetConcert", new { id = concert.Id }, concert));
        }
Пример #3
0
        /// <see cref="IConcertService.SaveConcert"/>
        public EventModel SaveConcert(EventModel concert, int userId)
        {
            var entity = ConcertModelHelper.GetConcertBase(concert);

            if (concert.Id == 0)
            {
                entity = _concertRepository.AddConcert(entity, userId);
            }
            //if (concert.Hall != null)
            //    entity.Hall = _concertRepository.SaveHall(ConcertModelHelper.GetHall(concert.Hall));
            //if (concert.ConcertPlace != null)
            //    entity.ConcertPlace = _concertRepository.SaveConcertPlace(ConcertModelHelper.GetConcertPlace(concert.ConcertPlace));
            //if (concert.Tickets != null)
            //    entity.Tickets = _concertRepository.SaveConcertTicket(ConcertModelHelper.GetConcertTicket(concert.Tickets));
            var series =
                concert.Series.Select(o => _concertRepository.SaveSeriesName(ConcertModelHelper.GetSeriesName(o)));

            entity.Series = series.Select(o => ConcertModelHelper.GetSeries(entity.Id, o.Id)).ToList();

            entity = _concertRepository.UpdateConcert(entity, userId);
            return(EventModelHelper.GetEventModel(entity));
        }