Exemple #1
0
        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);
        }
Exemple #4
0
        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 !");
            }
        }
Exemple #5
0
        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;
 }