/* Public Methods */ /// <summary> /// “Insert” a new vehicle into the garage. /// </summary> /// <param name="i_Vehicle"></param> public void Insert( Vehicle i_Vehicle, string i_LicenseNumber, string i_OwnerName, string i_OwnerPhone) { if (i_LicenseNumber != "" && i_OwnerName != "" && i_OwnerPhone != "") { // If we have this vehicle in this garage, change its status if (VehicleIsAlreadyInTheGarage(i_LicenseNumber)) { throw new ArgumentException("Vehicle's license plate is already in the Garage"); } // If we don't have this vehicle in this garage, add it else { VehicleDetails details = new VehicleDetails(i_OwnerName, i_OwnerPhone) { VehicleStatus = eVehicleStatus.Waiting }; LicenseNumbersList.Add(i_LicenseNumber, details); VehicleList.Add(i_LicenseNumber, i_Vehicle); } } }
public void ChangeVehicleStatus( string i_LicenseNumber, eVehicleStatus i_DesiredStatus) { if (i_LicenseNumber != "") { LicenseNumbersList.TryGetValue(i_LicenseNumber, out VehicleDetails value); value.VehicleStatus = i_DesiredStatus; } }
public string DisplayVehicleInformation(string i_LicenseNumber) { string vehicleInformation = ""; if (VehicleList.TryGetValue(i_LicenseNumber, out Vehicle vehicle) && LicenseNumbersList.TryGetValue(i_LicenseNumber, out VehicleDetails vehicleDetails)) { vehicleInformation = string.Format( @"{0} {1}", vehicleDetails.ToString(), vehicle.ToString()); } return(vehicleInformation); }
/// <summary> /// Check if the vehicle is already in the garage. /// </summary> /// <param name="i_LicenseNumber"></param> /// <returns></returns> public bool VehicleIsAlreadyInTheGarage(string i_LicenseNumber) { return(LicenseNumbersList.ContainsKey(i_LicenseNumber)); }