Пример #1
0
        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");
                }
            }
        }
Пример #2
0
 public void ViewParkedCar()
 {
     foreach (ParkSlotModel slot in slots)
     {
         if (!slot.isOccupied)
         {
             ParkingMessages.DisplayFreeSpaceText(slot.slotId);
         }
         else
         {
             CarMessages.DisplayParkedCars(slot.slotId, slot.car);
         }
     }
 }
Пример #3
0
 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;
     }
 }
Пример #4
0
        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();
            }
        }
Пример #5
0
 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();
         }
     }
 }