public List <Car> GetAvailableCars(CarProposedReservation proposedReservation) { var cars = new List <Car>(); var availableCars = new List <Car>(); if (proposedReservation.PickupLocation == null) { return(availableCars); } if (carsStorage.ContainsKey(proposedReservation.PickupLocation.ToLower())) { cars = carsStorage[proposedReservation.PickupLocation]; } if (cars.Count > 0) { foreach (var car in cars) { if (reservedCars.FirstOrDefault(c => ((proposedReservation.From >= c.From && proposedReservation.From <= c.To) || (proposedReservation.To <= c.To && proposedReservation.To >= c.From))) == null) { availableCars.Add(car); } } } return(availableCars); }
public CarProposedReservation CreateProposedReservation() { var proposed = new CarProposedReservation(); proposed.From = PickupDay; proposed.To = DropoffDay; proposed.PickupLocation = PickupLocation; return(proposed); }