public IActionResult HireACar(CardInformations CardInformations) { var result = _rentalService.HireACar(CardInformations); if (result.Succes) { return(Ok(result)); } return(BadRequest(result)); }
public IActionResult Hiring(CardInformations cardInformations) { IResult result = _rentalService.HireACar(cardInformations); if (!result.Succes) { return(BadRequest(result)); } return(Ok(result)); }
public IResult HireACar(CardInformations CardInformations) { Rental rental = new Rental { CarId = CardInformations.CarId, CustomerId = CardInformations.CustomerId, RentDate = CardInformations.RentDate, ReturnDate = CardInformations.ReturnDate }; IResult result = BusinessRules.Run(CheckIfDatesWrong(rental), CheckIfCoincident(rental)); if (result != null) { return(new ErrorResult(result.Message)); } // kontrolleri yaptık: kısaca valdation sayesinde rent'date ve returnDate'in günümüzden geçmişte olmasını engelledik, // yukarıda çalıştırdığımız iki methodun ilki ile girilen başlangıç tarihinin bitiş tarihinden geç olmasını önledik // ikincisi ile ise gönderilen tarihlerin database'de ki kiralamalar ile yani; daha önceden kiralanıp kiralanmadıgını kontrol ettik. // ve en son olarak kontrollerin ardından kiralama operasyonunu gerçekleştirdik; yani databaseye ekledik. // sırada sadece webapide karşılığını yazmak kalıyor :) _rentalDal.Add(rental); return(new SuccesResult($"{rental.GetType()} Added.")); }