public async Task CreateAsync(CinemaDto dto) { var alreadyExists = await _repository.ExistsAsync(c => c.Id == dto.Id); if (alreadyExists) { throw new CinemaAlreadyExistsException(dto.Id); } var events = dto.Halls.Select(h => new HallAdded(dto.Id, h.Id)); await _repository.AddAsync(dto.AsDocument()); await _broker.PublishAsync(events); }
public Task UpdateAsync(CinemaDto dto) => _repository.UpdateAsync(dto.AsDocument());