public async Task <IActionResult> RentCar([FromBody] RentCarRequestDto dto, CancellationToken cancellationToken = default(CancellationToken)) { var result = await _rentCarService.RentCar(dto, cancellationToken); if (result == null) { return(BadRequest(new ApiResponse(StatusCodes.Status400BadRequest))); } var response = new ApiOkResponse(result); return(Ok(response)); }
public async Task <RentCarResponseDto> RentCar(RentCarRequestDto dto, CancellationToken cancellationToken) { var car = _unitOfWork.CarRepository.Get(c => c.Id == dto.CarId).SingleOrDefault(); if (car == null) { return(null); } var newRentCar = _mapper.Map <RentCar>(dto); if (car.IsAvailable) { await _unitOfWork.RentCarRepository.AddAsync(newRentCar, cancellationToken); await _unitOfWork.SaveAsync(cancellationToken); } else { return(null); } return(_mapper.Map <RentCarResponseDto>(newRentCar)); }
public void RentCar(RentCarRequestDto request) { _carRepository.RentCar(request.CarId, request.Employee); }