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)); }
public IActionResult AvailableCars([FromBody] RentPeriodData dataModel) { return(AvailableCars(ordersService.CheckCarsAvailabilityDuringPeriod(dataModel))); }
internal Cars[] CheckCarsAvailabilityDuringPeriod(RentPeriodData dataModel) { return(carRepository.CheckCarsAvailabilityDuringPeriod(dataModel).ToArray()); }