public IResult Add(RentalForAddDto rental) { int authUserId = _httpContextAccessor.HttpContext.User.GetAuthenticatedUserId(); var customer = _customerService.GetByUserId(authUserId); if (customer.Success == false) { return(new ErrorResult()); } var result = BusinessRules.Run(IsCarReturned(rental.CarId), IsCarExists(rental.CarId), IsFindexEnough(rental.CarId, customer.Data.Id)); if (result != null) { return(result); } var carToRent = _carService.GetById(rental.CarId); Rental rentalToAdd = new Rental(); rentalToAdd.RentDate = DateTime.Now; rentalToAdd.CarId = rental.CarId; rentalToAdd.CustomerId = customer.Data.Id; rentalToAdd.RentDays = rental.RentDays; rentalToAdd.TotalPrice = (decimal)rental.RentDays * carToRent.Data.DailyPrice; _rentalDal.Add(rentalToAdd); return(new SuccessResult(Messages.RentalAdded)); }
public IActionResult Add(RentalForAddDto rental) { var result = _rentalService.Add(rental); return(StatusCode(result.Success ? 200 : 400, result)); }