private VehicleDetails.eVehicleStatus statusPick() { VehicleDetails.eVehicleStatus status = 0; bool isValid = false; string input = null; printStatusOptions(); do { try { input = Console.ReadLine(); Validation.StringToInt(input, out int statusInt); isValid = Enum.IsDefined(typeof(VehicleDetails.eVehicleStatus), statusInt); if (isValid == false) { throw new ValueOutOfRangeException(3, 1); } } catch (FormatException fe) { Console.WriteLine(fe.Message); } catch (ValueOutOfRangeException ve) { Console.WriteLine(string.Format("{0}, Please insert value between {1} - {2}", ve.ToString(), ve.MinValue, ve.MaxValue)); } }while(isValid == false); isValid = Enum.TryParse <VehicleDetails.eVehicleStatus>(input, out status); return(status); }
public List <string> GetLicenseNumbersInStatus(string i_UserInput) { VehicleDetails.eVehicleStatus status = (VehicleDetails.eVehicleStatus) int.Parse(i_UserInput); List <string> matchingLicenseNumbers = new List <string>(); foreach (var item in m_VehicleDetailsList) { if (item.Value.Status == status) { matchingLicenseNumbers.Add(item.Key); } } return(matchingLicenseNumbers); }
public List <string> GetLicensePlatesByStatus(VehicleDetails.eVehicleStatus i_Status) { List <string> licensePlates = licensePlates = new List <string>(); List <string> keysToCheck = new List <string>(this.Vehicles.Keys); VehicleDetails addToList; foreach (string key in keysToCheck) { this.Vehicles.TryGetValue(key, out addToList); if (addToList.Status == i_Status) { licensePlates.Add(key); } } return(licensePlates); }
private void changeCarStatus() { Console.Clear(); getLicensePlate(out string licensePlate); if (m_garage.VehicleExist(licensePlate) == false) { Console.WriteLine("There is no Vehicle with this license plate."); } else { Console.WriteLine("Which status would you like to change to ?"); VehicleDetails.eVehicleStatus status = statusPick(); m_garage.ChangeCarStatus(licensePlate, status); Console.WriteLine("Status was changed !"); } }
private void showLicensePlates() { bool isValid = false; List <string> licensePlates = null; Console.WriteLine( @"Please select : 1. print all vehilces license plates 2. print vehicles license plates with specific status"); do { try { Validation.StringToInt(Console.ReadLine(), out int pick); Validation.IsInRange(1, 2, pick); if (pick == 2) { Console.WriteLine("Please select required status"); VehicleDetails.eVehicleStatus status = statusPick(); licensePlates = m_garage.GetLicensePlatesByStatus(status); } else { licensePlates = m_garage.GetAllLicensePlates(); } isValid = true; } catch (FormatException fe) { Console.WriteLine(fe.Message); } catch (ValueOutOfRangeException ve) { Console.WriteLine(string.Format("{0}, Please insert value between {1} - {2}", ve.ToString(), ve.MinValue, ve.MaxValue)); } }while(isValid == false); Console.WriteLine("\n-----License Plates-----\n"); printArray(licensePlates, true); Console.WriteLine("\n------------------------\n"); Console.WriteLine("Press enter to continue"); Console.ReadLine(); }
public void ChangeCarStatus(string i_key, VehicleDetails.eVehicleStatus i_Pick) { VehicleDetails vehicleToChange = this.GetVehicleDetails(i_key); vehicleToChange.Status = i_Pick; }
public void ChangeVehicleStatus(string i_LicenseNumber, string i_Status) { VehicleDetails.eVehicleStatus status = (VehicleDetails.eVehicleStatus) int.Parse(i_Status); m_VehicleDetailsList[i_LicenseNumber].Status = status; }