static void Main(string[] args) { IParkingServices _parkingServices = new ParkingServices(); int choice; string userInput; while (true) { Menu.DisplayTextMenu(); userInput = Console.ReadLine(); bool validUserInput = int.TryParse(userInput, out choice); if (validUserInput) { switch (choice) { case 1: CarMessages.EnterNumberOfVehicle(); string plateNumber = Console.ReadLine(); _parkingServices.AddCar(plateNumber); break; case 2: _parkingServices.ViewParkedCar(); break; case 3: CarMessages.EnterNumberOfVehicle(); plateNumber = Console.ReadLine(); _parkingServices.UnParkCar(plateNumber); break; case 4: _parkingServices.GetFreeParkingLot(); break; case 5: _parkingServices.DisplayParkedCars(); break; default: Console.WriteLine("Enter a valid number between 1 and 5"); return; } } else { Console.WriteLine("Please enter a number from list menu not a string"); } } }
public void ViewParkedCar() { foreach (ParkSlotModel slot in slots) { if (!slot.isOccupied) { ParkingMessages.DisplayFreeSpaceText(slot.slotId); } else { CarMessages.DisplayParkedCars(slot.slotId, slot.car); } } }
public void UnParkCar(string plateNumber) { if (!CheckIfCarExist(plateNumber)) { CarMessages.CarDoesNotExistMessage(); } else { TollParkCalculator.TollCalculator(plateNumber, slots); int index = slots.FindIndex(a => a.car.plateNumber == plateNumber); slots[index].car = null; slots[index].isOccupied = false; } }
public void DisplayParkedCars() { int parkedCar = 0; foreach (ParkSlotModel slot in slots) { if (slot.isOccupied) { CarMessages.DisplayParkedCars(slot.slotId, slot.car); parkedCar++; } } if (parkedCar == 0) { ParkingMessages.ParkEmpty(); } }
public void AddCar(string plateNumber) { if (CheckIfCarExist(plateNumber)) { CarMessages.CarAlreadyExistMessage(); } else { foreach (ParkSlotModel slot in slots) { if (!slot.isOccupied) { slot.addCar(new CarModel(plateNumber)); CarMessages.CarParkedMessage(); parkedCar++; return; } } if (parkedCar == parkingLots) { CarMessages.WeDontHaveAnyFreeSpaces(); } } }