示例#1
0
        public IActionResult RentACar(RentalRentDto rentalDto)
        {
            var result = _rentalService.RentACar(rentalDto);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
示例#2
0
        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);
        }
示例#3
0
 //[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));
         }
     }
 }