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); }
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>(); }
public void ReleaseParkingPlace(ParkingPlaceOutput parkingPlace) { ReleaseParkingPlaceAction?.Invoke(parkingPlace); }
public void ReleaseParkingPlace(ParkingPlaceOutput parkingPlace) { parkingPlace.ParkingPlace.IsUsed = false; }
public void AssignParkingPlace(Vehicle vehicle, ParkingPlaceOutput parkingPlace) { this.vehicleList[vehicle] = parkingPlace; }
public void AssignParkingPlace(Vehicle vehicle, ParkingPlaceOutput parkingPlace) { this.AssignParkingPlaceAction?.Invoke(vehicle, parkingPlace); }
public bool AddVehicle(Vehicle vehicle, ParkingPlaceOutput parkingPlace) { this.AddVehicleAction?.Invoke(vehicle, parkingPlace); return(AddVehicleReturn); }