/* 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));
 }