示例#1
0
        public async Task <CreateTripHandlerResponse> HandleAsync(CreateTripHandlerRequest request)
        {
            var customer = await _customerRepository.RetrieveByIdAsync(request.CustomerId);

            if (customer == null)
            {
                return(new CreateTripHandlerResponse {
                    OperationResponse = OperationResponse.Error("Customer not found")
                });
            }

            var trip = await _tripFactory.CreateAsync(request.Title, request.Departure, request.Arrival, customer);

            await _tripRepository.CreateAsync(trip);

            await _unitOfWork.SaveAsync();

            return(new CreateTripHandlerResponse {
                Trip = trip
            });
        }