コード例 #1
0
        public void ChangeStatus(string i_LicenseNumber, string i_status)
        {
            //
            //Should check input validation - checked
            //
            VehicleInGarage.eVehicleStatus eStatus = Validation.StringToVehicleStatus(i_status);

            m_VehivleInGarageDict[i_LicenseNumber].m_VehicleStatus = eStatus;
        }
コード例 #2
0
        public List <string> TraverseLicenseNumbersInGarageDict(VehicleInGarage.eVehicleStatus io_inputStatus)
        {
            List <string> listOfVehiclesToReturn = new List <string>();

            foreach (KeyValuePair <string, VehicleInGarage> entry in m_GarageDict) //KeyValuePair cus in dictionery we are going over pairs
            {
                if (entry.Value.GetStatus == io_inputStatus)                       // VehicleInGarage is the value, and GetStatus is method at VehicleInGarage
                {
                    listOfVehiclesToReturn.Add(entry.Key);                         //adds the lisence num
                }
            }
            return(listOfVehiclesToReturn);
        }
コード例 #3
0
        public void ChangeVehicleInGarageStatus(string i_LicenseNumber, int i_NewStatus)
        {
            if (CheckIfLicenseNumberInGarage(i_LicenseNumber))
            {
                VehicleInGarage.eVehicleStatus newStatus = (VehicleInGarage.eVehicleStatus)i_NewStatus;

                m_CurrentVehicleInGarage = m_VehiclesInGarage[i_LicenseNumber];
                m_CurrentVehicleInGarage.VehicleStatus = newStatus;
            }
            else
            {
                throw new ArgumentException("This vehicle not in the garage.");
            }
        }
コード例 #4
0
ファイル: Garage.cs プロジェクト: eyaldouwma/Garage
        public List <VehicleInGarage> SortVehiclesByStatus(VehicleInGarage.eVehicleStatus i_VehicleStatusToPrint, bool i_PrintAll)
        {
            List <VehicleInGarage> vehiclesSorted = new List <VehicleInGarage>();

            foreach (VehicleInGarage v in m_VehiclesInGarage.Values)
            {
                if ((v.VehicleStatus == i_VehicleStatusToPrint) || (i_PrintAll == true))
                {
                    vehiclesSorted.Add(v);
                }
            }

            return(vehiclesSorted);
        }
コード例 #5
0
        public List <string> MakeLicensePlatesListOfVehiclesInRequestedStatus(VehicleInGarage.eVehicleStatus i_RequestedStatus)
        {
            List <string> requestedList = new List <string>();

            foreach (KeyValuePair <string, VehicleInGarage> pair in m_VehiclesDictionary)
            {
                if (pair.Value.VehicleStatus == i_RequestedStatus)
                {
                    requestedList.Add(pair.Key);
                }
            }

            return(requestedList);
        }
        internal static List <string> ShowVehiclesByStatus(VehicleInGarage.eVehicleStatus i_VehicleStatus)
        {
            List <string> vehiclesLicenseNumbers = new List <string>();

            foreach (VehicleInGarage currentVehicle in m_ListVehiclesInGarage.Values)
            {
                if (i_VehicleStatus == currentVehicle.VehicleStatus)
                {
                    vehiclesLicenseNumbers.Add(currentVehicle.Vehicle.LicenseNumber);
                }
            }

            return(vehiclesLicenseNumbers);
        }
コード例 #7
0
        public bool ChangeStatusOfVehicleInGarage(string i_LicensePlate, VehicleInGarage.eVehicleStatus i_NewStatus)
        {
            VehicleInGarage requestedVehicle = SearchForVehicleInGarage(i_LicensePlate);
            bool            statusChanged;

            if (requestedVehicle != null)
            {
                requestedVehicle.VehicleStatus = i_NewStatus;
                statusChanged = true;
            }
            else
            {
                statusChanged = !true;
            }

            return(statusChanged);
        }
コード例 #8
0
        public List <string> PrintVehiclesLicenseNumbers(string i_ChoosenVehicleStatus)
        {
            //
            //Should check input validation - checked!
            //
            List <string> LicenseNumberList = new List <string>();

            VehicleInGarage.eVehicleStatus eStatus = Validation.StringToVehicleStatus(i_ChoosenVehicleStatus);

            foreach (KeyValuePair <string, VehicleInGarage> vehicle in m_VehivleInGarageDict)
            {
                if (vehicle.Value.m_VehicleStatus == eStatus)
                {
                    LicenseNumberList.Add(vehicle.Value.m_Vehicle.m_LicenseNumber);
                }
            }

            return(LicenseNumberList);
        }
コード例 #9
0
        public List <string> GetVehiclesInGarageByStatus(int i_IntVehicleStatusToCompare)
        {
            if (Enum.IsDefined(typeof(VehicleInGarage.eVehicleStatus), i_IntVehicleStatusToCompare))
            {
                VehicleInGarage.eVehicleStatus vehicleStatusToCompare = (VehicleInGarage.eVehicleStatus)i_IntVehicleStatusToCompare;

                List <string> listOfVehiclesByStatus = new List <string>();
                foreach (KeyValuePair <string, VehicleInGarage> vehicle in m_VehiclesInGarage)
                {
                    if (vehicle.Value.VehicleStatus == vehicleStatusToCompare)
                    {
                        listOfVehiclesByStatus.Add(vehicle.Key);
                    }
                }

                return(listOfVehiclesByStatus);
            }
            else
            {
                throw new FormatException();
            }
        }
コード例 #10
0
        private static void changeCertainVehicleStatus()
        {
            try
            {
                checkValidityOfUserOptionChoice();
            }
            catch (UnavailableOptionException exception)
            {
                throw exception;
            }

            if (GarageFunctionalityManager.ListVehiclesInGarage.Count == 0)
            {
                Console.WriteLine("There are no vehicles in the garage. Choose another option");
            }
            else
            {
                bool   validInputFromUser    = false;
                string userInputString       = string.Empty;
                short  userInputNumberOption = 0;
                VehicleInGarage.eVehicleStatus vehicleRequestStatus = GarageLogic.VehicleInGarage.eVehicleStatus.None;
                string stringOutput = string.Format(
                    @"Please choose one of the options below:
1: In Repair (in progress) 
2: Is Repaired (fixed)
3: Is Paid ");
                string vehicleLicenseNumber = getVehicleLicenseNumber();

                while (!validInputFromUser)
                {
                    Console.WriteLine("Please select the status that you whould like to change to : ");
                    Console.WriteLine(stringOutput);
                    userInputString    = Console.ReadLine();
                    validInputFromUser = short.TryParse(userInputString, out userInputNumberOption);

                    if (!validInputFromUser || userInputNumberOption > 3 || userInputNumberOption < 1)
                    {
                        Console.WriteLine("Invalid input! Please enter a valid number from the options below.");
                        validInputFromUser = false;
                    }
                }

                switch (userInputNumberOption)
                {
                case 1:
                {
                    vehicleRequestStatus = VehicleInGarage.eVehicleStatus.InRepair;
                    break;
                }

                case 2:
                {
                    vehicleRequestStatus = VehicleInGarage.eVehicleStatus.IsRepaired;
                    break;
                }

                case 3:
                {
                    vehicleRequestStatus = VehicleInGarage.eVehicleStatus.IsPaid;
                    break;
                }
                }

                try
                {
                    GarageFunctionalityManager.ChangeCertainVehicleStatus(vehicleLicenseNumber, vehicleRequestStatus);
                }
                catch (ArgumentException exception)
                {
                    Console.WriteLine(exception.Message);
                }
            }
        }
コード例 #11
0
        private static void displayLicensePlatesOfVehiclesInRequestedStatus(Garage i_Garage, VehicleInGarage.eVehicleStatus i_RequestedStatus)
        {
            List <string> licensePlatesList = i_Garage.MakeLicensePlatesListOfVehiclesInRequestedStatus(i_RequestedStatus);

            if (licensePlatesList.Count == 0)
            {
                Console.WriteLine("There are no vehicles in this status at the garage.");
            }
            else
            {
                foreach (string licensePlate in licensePlatesList)
                {
                    Console.WriteLine("{0}", licensePlate);
                }
            }
        }
 internal static void ChangeCertainVehicleStatus(string i_VehicleLicenseNumber, VehicleInGarage.eVehicleStatus i_VehicleRequestStatus)
 {
     if (IsExistInGarage(i_VehicleLicenseNumber))
     {
         m_ListVehiclesInGarage[i_VehicleLicenseNumber].VehicleStatus = i_VehicleRequestStatus;
     }
     else
     {
         throw new ArgumentException(string.Format("The cehicle which has this license number: {0} is not in the garage.", i_VehicleLicenseNumber));
     }
 }