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(); }
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); }