Ejemplo n.º 1
0
        public IActionResult HireACar(CardInformations CardInformations)
        {
            var result = _rentalService.HireACar(CardInformations);

            if (result.Succes)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
Ejemplo n.º 2
0
        public IActionResult Hiring(CardInformations cardInformations)
        {
            IResult result = _rentalService.HireACar(cardInformations);

            if (!result.Succes)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
Ejemplo n.º 3
0
        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."));
        }