public IActionResult RentACar(RentalRentDto rentalDto) { var result = _rentalService.RentACar(rentalDto); if (result.Success) { return(Ok(result)); } return(BadRequest(result)); }
private bool CheckIfSelectedCarWasRented(RentalRentDto selectedRental) { var rentals = _rentalDal.GetAll(r => r.CarId == selectedRental.CurrentRental.CarId); foreach (Rental rental in rentals) { if (rental.ReturnDate.Date >= selectedRental.CurrentRental.RentDate.Date) { return(true); } } return(false); }
//[SecuredOperation("Admin,Rental.add","Result")] public IResult RentACar(RentalRentDto rentalRentDto) { if (CheckIfSelectedCarWasRented(rentalRentDto)) { return(new ErrorResult($"{ErrorCodes.GetAlreadyExistRentalOfSelectedCarErrorCode} {ErrorMessages.GetAlreadyExistRentalOfSelectedCarError}")); } else { if (_creditCardService.Pay(rentalRentDto.CurrentCreditCard, rentalRentDto.PaymentAmount) == 1) { _rentalDal.Add(rentalRentDto.CurrentRental); return(new SuccessResult(Messages.GetCRUDSuccess(_rentalDal.GetAll().Count, "Kiralama", "Kiralama"))); } else { return(new ErrorResult(ErrorMessages.GetNoPaymentFromCreditCardError)); } } }