public static int TollCalculator(string plateNumber, List <ParkSlotModel> slots) { int index = slots.FindIndex(a => a.car.plateNumber == plateNumber); var exitTime = DateTime.Now; var exitTtime = new DateTime(exitTime.Year, exitTime.Month, exitTime.Day, exitTime.Hour, exitTime.Minute, 0); int totalPrice = 0; TimeSpan totalParkTime = exitTtime - slots[index].car.enterTime; slots[index].car.exitTime = DateTime.Now; ParkingMessages.ParkingTimeInformation(slots[index].car, totalParkTime); if (totalParkTime.TotalMinutes <= 60) { totalPrice = priceForHour; } else { TimeSpan time = TimeSpan.FromMinutes(totalParkTime.TotalMinutes); if (time.Minutes != 0) { totalPrice = priceForHour + (extraPrice * (totalParkTime.Hours)); } else { totalPrice = priceForHour + (extraPrice * (totalParkTime.Hours - 1)); } } ParkingMessages.TotalSumOfPay(slots[index].car, totalPrice); return(totalPrice); }
public void ViewParkedCar() { foreach (ParkSlotModel slot in slots) { if (!slot.isOccupied) { ParkingMessages.DisplayFreeSpaceText(slot.slotId); } else { CarMessages.DisplayParkedCars(slot.slotId, slot.car); } } }
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 GetFreeParkingLot() { int numberOfOcupatedSlots = 0; int numberOfFreeSlots = 0; foreach (ParkSlotModel slot in slots) { if (slot.isOccupied == false) { numberOfOcupatedSlots++; ParkingMessages.DisplayFreeSpaceText(slot.slotId); } else { numberOfFreeSlots++; } } ParkingMessages.TotalNumberOfFreeParkingLot(numberOfOcupatedSlots); }