Example #1
0
        private static Vehicle getVehicleFromUser()
        {
            Vehicle       createdVehicle        = null;
            List <object> userEnteredProperties = null;

            GarageENums.eVehicleType typeOfVehicleToAdd = (GarageENums.eVehicleType)getUserChoiceFromEnumValues(typeof(GarageENums.eVehicleType));

            switch (typeOfVehicleToAdd)
            {
            case GarageENums.eVehicleType.FuelCar:
                userEnteredProperties = getPropertiesFromUser(FuelCar.GetRequiredProperties(), 1);
                break;

            case GarageENums.eVehicleType.ElectricCar:
                userEnteredProperties = getPropertiesFromUser(ElectricCar.GetRequiredProperties(), 2);
                break;

            case GarageENums.eVehicleType.FuelMotorcycle:
                userEnteredProperties = getPropertiesFromUser(FuelMotorcycle.GetRequiredProperties(), 3);
                break;

            case GarageENums.eVehicleType.ElectricMotorcycle:
                userEnteredProperties = getPropertiesFromUser(ElectricMotorcycle.GetRequiredProperties(), 4);
                break;

            case GarageENums.eVehicleType.FuelTruck:
                userEnteredProperties = getPropertiesFromUser(FuelTruck.GetRequiredProperties(), 5);
                break;

            default:
                break;
            }

            createdVehicle = VehicleGenerator.GenerateVehicle(typeOfVehicleToAdd, userEnteredProperties);

            return(createdVehicle);
        }