Example #1
0
        static void park(string c, int p)
        {
            Car car = new Car();

            car.Name = c;

            ParkPlace parkPlace = new ParkPlace();

            parkPlace.IsEmpty = true;
            parkPlace.Number  = p;


            Parking parking = new Parking();

            parking.Price = 100;
            parking.ParkPlaces.Add(parkPlace);

            ParkingProcess parkingProcess = new ParkingProcess();
            IParkingResult parkingResult  = new ParkingResult();

            parkingResult = parkingProcess.ParkCar(parking, car, 3);
            Console.WriteLine("ParkingNumber: " + parkingResult.ParkingNumber);
            Console.WriteLine("Car: " + parkingResult.Car.Name);
            Console.WriteLine("Price: " + parkingResult.Price);
            Console.WriteLine("Start: " + parkingResult.Start);
            Console.WriteLine("End: " + parkingResult.End);
            Console.WriteLine();
            console();
        }
Example #2
0
        public IParkingResult ParkCar(Parking pObj, Car c, double hours)
        {
            ParkPlace p = pObj.ParkPlaces.FirstOrDefault(pp => pp.IsEmpty);

            if (p == null)
            {
                throw new IndexOutOfRangeException();
            }

            IParkingResult pr = new ParkingResult();

            pr.Car           = c;
            pr.Parking       = pObj;
            pr.ParkingNumber = p.Number;
            pr.Start         = DateTime.Now;
            pr.End           = pr.Start.AddHours(hours);
            pr.Price         = (decimal)hours * pObj.Price;

            return(pr);
        }