コード例 #1
0
 public bool AddVehicle(Vehicle vehicle, ParkingPlaceOutput parkingPlace)
 {
     if (!this.vehicleList.Any(x => x.Key.LicensePlate == vehicle.LicensePlate))
     {
         this.vehicleList.Add(vehicle, parkingPlace);
         return(true);
     }
     return(false);
 }
コード例 #2
0
 private void park(string parameter)
 {
     if (string.IsNullOrEmpty(parameter))
     {
         foreach (var item in this.selectedVehicles)
         {
             console.WriteInfo("Bitte geben Sie die Parkplatznummer für \"" + item.Key.LicensePlate + "\" ein");
             var input          = console.ReadLine();
             int parkingPlaceId = 0;
             ParkingPlaceOutput parkingPlace = null;
             if (int.TryParse(input, out parkingPlaceId))
             {
                 parkingPlace = garageManager.GetParkingPlace(parkingPlaceId);
             }
             else
             {
                 parkingPlace = garageManager.GetParkingPlace();
             }
             if (item.Value != null)
             {
                 garageManager.ReleaseParkingPlace(item.Value);
             }
             vehicleManager.AssignParkingPlace(item.Key, parkingPlace);
             console.WriteInfo("Parkplatz erfolgreich zugewiesen.");
         }
     }
     else
     {
         int garageId = 0;
         var garages  = garageManager.GetAllGarages();
         ParkingPlaceOutput parkingPlace = null;
         int i = 0;
         if (int.TryParse(parameter, out garageId) && garageId > 0 && garageId <= garages.Count)
         {
             garageManager.SelectGarage(garages[garageId - 1]);
             foreach (var item in this.selectedVehicles)
             {
                 parkingPlace = garageManager.GetParkingPlace();
                 if (item.Value != null)
                 {
                     garageManager.ReleaseParkingPlace(item.Value);
                 }
                 vehicleManager.AssignParkingPlace(item.Key, parkingPlace);
                 i++;
             }
         }
         var word = i == 1 ? "Parkplatz" : "Parkplätze";
         console.WriteInfo($"{i} {word} erfolgreich zugewiesen.");
     }
     this.selectedVehicles = new Dictionary <Vehicle, ParkingPlaceOutput>();
 }
コード例 #3
0
 public void ReleaseParkingPlace(ParkingPlaceOutput parkingPlace)
 {
     ReleaseParkingPlaceAction?.Invoke(parkingPlace);
 }
コード例 #4
0
 public void ReleaseParkingPlace(ParkingPlaceOutput parkingPlace)
 {
     parkingPlace.ParkingPlace.IsUsed = false;
 }
コード例 #5
0
 public void AssignParkingPlace(Vehicle vehicle, ParkingPlaceOutput parkingPlace)
 {
     this.vehicleList[vehicle] = parkingPlace;
 }
コード例 #6
0
 public void AssignParkingPlace(Vehicle vehicle, ParkingPlaceOutput parkingPlace)
 {
     this.AssignParkingPlaceAction?.Invoke(vehicle, parkingPlace);
 }
コード例 #7
0
 public bool AddVehicle(Vehicle vehicle, ParkingPlaceOutput parkingPlace)
 {
     this.AddVehicleAction?.Invoke(vehicle, parkingPlace);
     return(AddVehicleReturn);
 }