public async Task HandleAsync(CreateAirplane command, ICorrelationContext context) { if (await _airplanesRepository.GetAsync(command.AirplaneRegistrationNumber) != null) { throw new BeComfyException("airplane_already_exists", $"Airplane with registration number: '{command.AirplaneRegistrationNumber}' already exists."); } var airplane = new Airplane(command.AirplaneId, command.AirplaneRegistrationNumber, command.AirplaneModel, command.AvailableSeats, command.RequiredCrew); await _airplanesRepository.AddAsync(airplane); await _busPublisher.PublishAsync(new AirplaneCreated(command.AirplaneId, command.AirplaneRegistrationNumber, command.AirplaneModel), context); }
public void empty_airplane_model_throws_domain_validation_exception() { Assert.Throws <BeComfyException>(() => _airplanesRepository.AddAsync(new Airplane(Guid.NewGuid(), _airplaneRegistraionNumber, "", _availableSeats, _requiredCrew)), "airplane_empty_id", "Airplane id cannot be empty"); }