public async Task <Booking> CreateAsync(string startTime, string endTime, long customerId)
        {
            var customer = await _customerServiceApiClient.GetCustomerByIdAsync(customerId, _correlationContext.CorrelationContext.CorrelationId);

            var booking = new Booking(DateTime.UtcNow, DateTime.UtcNow.AddDays(1), customerId, customer.FirstName);

            await _bookingRepository.CreateAsync(booking);

            await _bookingRepository.SaveChangesAsync();

            var @event = booking.Adapt <CreatedBookingEvent>();

            _eventBus.Publish(@event);

            return(booking);
        }
        public async Task <OrderResponseModel> Handle(CreateOrderCommand request, CancellationToken cancellationToken)
        {
            var customer = await _customerServiceApiClient.GetCustomerByIdAsync(request.CustomerId,
                                                                                _correlationContext.CorrelationContext.CorrelationId);

            var order = new Order(request.Description, request.CustomerId, customer.FirstName);

            order = await _orderRepository.CreateAsync(order);

            await _orderRepository.SaveChangesAsync();

            var @event = order.Adapt <CreateOrderEvent>();

            _rabbitMqClient.Publish(@event);

            var response = order.Adapt <OrderResponseModel>();

            return(response);
        }