public void DisplayAllSlots(ParkingLot parkingLot) { Console.WriteLine("\n\n****************** Parking Alloment Display ******************"); List <ParkingSlot> slotList = parkingLot.GetParkingSlotList(); Console.WriteLine("Two Wheeler Parking Empty Slots = " + (TwoWheelerCapacity - slotList.Where(e => e.vehicle.vehicleType == VehicleType.TWO_WHEELER).Count())); Console.WriteLine("Four Wheeler Parking Empty Slots = " + (FourWheelerCapacity - slotList.Where(e => e.vehicle.vehicleType == VehicleType.FOUR_WHEELER).Count())); Console.WriteLine("Other Vehicle Parking Empty Slots = " + (OtherVehicleCapacity - slotList.Where(e => e.vehicle.vehicleType == VehicleType.OTHER).Count())); foreach (ParkingSlot slot in slotList) { Console.WriteLine("\n***** Slot Number : {0} *****", slot.SlotId); Console.WriteLine("VehicleType {0}\t\tVehicle no. {1} ", slot.vehicle.vehicleType, slot.vehicle.VehicleNumber); Console.WriteLine("Ticket No: {0}\t\tIn-Time: {1}\t\tOut-Time: {2}", slot.ticket.TicketNumber, slot.ticket.InTime, slot.ticket.OutTime); } Console.WriteLine("\n\n"); }
public void CreateSlots(out ParkingLot parkingLot) { string twoWheelerSlot, fourWheelerSlot, otherVehicleSlot; do { Console.Write("Enter the Slots for 2 Wheeler : "); twoWheelerSlot = Console.ReadLine(); } while (!IsValidSlot(twoWheelerSlot)); do { Console.Write("Enter the Slots for 4 Wheeler : "); fourWheelerSlot = Console.ReadLine(); } while (!IsValidSlot(fourWheelerSlot)); do { Console.Write("Enter the Slots for Other vehicle : "); otherVehicleSlot = Console.ReadLine(); } while (!IsValidSlot(otherVehicleSlot)); parkingLot = new ParkingLot(int.Parse(twoWheelerSlot), int.Parse(fourWheelerSlot), int.Parse(otherVehicleSlot)); }
public void MainMenu(ParkingLot parkingLot) { while (true) { Console.WriteLine("\n\n1. Park Vehicle"); Console.WriteLine("2. Unpark Vehicle"); Console.WriteLine("3. Display All Slots"); Console.WriteLine("4. Exit"); Console.WriteLine("Choose any option"); string choice = Console.ReadLine(); if (choice == "4") { break; } VehicleType vehicleType; ParkingSlot parkingSlot; switch (int.Parse(choice)) { case 1: // add vehicle parkingSlot = ReadVehicleDetail(out vehicleType); while (vehicleType == VehicleType.NONE) { parkingSlot = ReadVehicleDetail(out vehicleType); } if (parkingLot.GetParkingSlotList().Where(e => e.vehicle.vehicleType == VehicleType.TWO_WHEELER).Count() < TwoWheelerCapacity && parkingLot.GetParkingSlotList().Where(e => e.vehicle.vehicleType == VehicleType.FOUR_WHEELER).Count() < FourWheelerCapacity && parkingLot.GetParkingSlotList().Where(e => e.vehicle.vehicleType == VehicleType.OTHER).Count() < OtherVehicleCapacity) { parkingLot.ParkVehicle(parkingSlot); } else { Error(SLOT_FULL_ERROR); } break; case 2: // remove vehicle parkingSlot = ReadVehicleDetail(out vehicleType); bool unParked = false; while (vehicleType == VehicleType.NONE) { parkingSlot = ReadVehicleDetail(out vehicleType); } List <ParkingSlot> slotList = parkingLot.GetParkingSlotList(); foreach (ParkingSlot slot in slotList) { if (slot.vehicle.vehicleType == vehicleType && slot.vehicle.VehicleNumber == parkingSlot.vehicle.VehicleNumber) { parkingLot.UnParkVehicle(slot); slot.ticket.OutTime = DateTime.Now; unParked = true; } } if (!unParked) { Error(VEHICLE_NOT_FOUND_ERROR); } break; case 3: DisplayAllSlots(parkingLot); break; default: Console.WriteLine("Invalid Choice"); break; } } }
public void MainMenu(ParkingLot parkingLot) { Console.Clear(); Console.WriteLine("******************* Welcome to Parking Allotment System *******************"); while (true) { Console.WriteLine("1. Park Vehicle"); Console.WriteLine("2. UnPark Vehicle"); Console.WriteLine("3. View All Slots"); Console.WriteLine("4. View Available Slots"); Console.WriteLine("5. View Booked Slots"); Console.WriteLine("6. View All Tickets"); Console.WriteLine("7. Exit"); Vehicle vehicle; try { int choice = int.Parse(Console.ReadLine()); if (choice == 7) { break; } switch (choice) { case 1: //Park Vehicle vehicle = ReadVehicleDetails(); ParkingSlot parkingSlot = parkingLot.Park(vehicle); Console.WriteLine("Do you want ticket ? y/n"); if (Console.ReadLine() == "y") { Ticket ticket = parkingLot.GenerateTicket(parkingSlot); Console.WriteLine("Your Ticket Number is : {0}", ticket.TicketNumber); } break; case 2: //Unpark Vehicle Console.WriteLine("Enter the Ticket Number"); string TicketNumber = Console.ReadLine(); Ticket ticket = parkingLot.GetTicketList().Where(e => e.TicketNumber == TicketNumber).First(); ParkingSlot slot = parkingLot.GetParkingSlot(ticket); parkingLot.UnPark(slot.vehicle); ticket.OutTime = DateTime.Now; break; case 3: //Display All Slots DisplayAllSlots(parkingLot); break; case 4: //Display All Available Slots DisplaySlots(parkingLot, false); break; case 5: //Display All Booked Slots DisplaySlots(parkingLot, true); break; case 6: //Display Tickets DisplayTicket(parkingLot); break; default: Console.WriteLine("Invalid Choice"); break; } } catch (Exception e) { Console.WriteLine(e); } } }