Exemple #1
0
        internal AvailableCarsData[] CheckCarsAvailabilityDuringPeriod(RentPeriodData dataModel)
        {
            var cars = carsService.CheckCarsAvailabilityDuringPeriod(dataModel);

            return(cars
                   .Select(c => new AvailableCarsData
            {
                CarType = c.CarType,
                Id = c.Id,
                Registrationnumber = c.Registrationnumber
            }).ToArray());
        }
 public IEnumerable <Cars> CheckCarsAvailabilityDuringPeriod(RentPeriodData dataModel)
 {
     return(context.Cars
            .Where(c => (c.CarCleaning.All(k => k.CleaningDone == true) || c.CarCleaning.Count == 0))
            .Where(c => (!c.CarRetire.Any() || c.CarRetire.Count == 0))
            .Where(c => (c.CarService.All(s => !s.ServiceDone == false) || c.CarService.Count == 0))
            .Where(c => (c.Orders.All(o => (!((dataModel.RentalDate >= o.RentalDate && dataModel.RentalDate <= o.ReturnDate) ||
                                              (dataModel.ReturnDate >= o.RentalDate && dataModel.ReturnDate <= o.ReturnDate)) || o.CarReturned == true || c.Orders.Count == 0))))
            .Select(c => new Cars
     {
         AvailableForRent = c.AvailableForRent,
         CarType = c.CarType,
         Id = c.Id,
         Kilometer = c.Kilometer,
         Registrationnumber = c.Registrationnumber,
         Orders = c.Orders
                  .Select(o => new Orders
         {
             Customer = o.Customer
         }).ToList()
     })
            .OrderBy(c => c.AvailableForRent)
            .ThenBy(c => c.CarType));
 }
Exemple #3
0
 public IActionResult AvailableCars([FromBody] RentPeriodData dataModel)
 {
     return(AvailableCars(ordersService.CheckCarsAvailabilityDuringPeriod(dataModel)));
 }
 internal Cars[] CheckCarsAvailabilityDuringPeriod(RentPeriodData dataModel)
 {
     return(carRepository.CheckCarsAvailabilityDuringPeriod(dataModel).ToArray());
 }