Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public CarProposedReservation CreateProposedReservation()
        {
            var proposed = new CarProposedReservation();

            proposed.From           = PickupDay;
            proposed.To             = DropoffDay;
            proposed.PickupLocation = PickupLocation;

            return(proposed);
        }