private Vehicle MakeVehicle(string i_LicenceNumber, string i_ModelName, string i_WheelManufactor)
        {
            Vehicle newVehicle = null;

            EnergySource.eTypeOfEnergySource    typeOfEnergySource    = new EnergySource.eTypeOfEnergySource();
            VehicleManufactur.eSupportedVehicle typeOfVehicleToInsert = new VehicleManufactur.eSupportedVehicle();
            bool v_VehicleIsValid = true;

            do
            {
                try
                {
                    typeOfVehicleToInsert = (VehicleManufactur.eSupportedVehicle)m_Ui.PrintAllEnumValuesGetUserChoice(typeOfVehicleToInsert, "Vehicle Choosing");
                    typeOfEnergySource    = (EnergySource.eTypeOfEnergySource)m_Ui.PrintAllEnumValuesGetUserChoice(typeOfEnergySource, "Energy Source Choosing");
                    newVehicle            = VehicleManufactur.CreateVehicles(out v_VehicleIsValid, i_LicenceNumber, i_ModelName, typeOfEnergySource, i_WheelManufactor, typeOfVehicleToInsert);
                }
                catch (ArgumentException ae)
                {
                    //// (RIGHT NOW) possible ArgumentException for inserting unsupported Vehicle or insert electric truck (not supported)
                    v_VehicleIsValid = false;
                    m_Ui.PrintNatural(ae.Message);
                }
            }while (v_VehicleIsValid == false);

            return(newVehicle);
        }
示例#2
0
        public ChargingVehicleDetails FillChargingVehicleForm(GarageManagment io_Garage)
        {
            string licenseNumber;
            float  quantityToAdd;

            EnergySource.eTypeOfEnergySource typeOfEnergyChoice = new EnergySource.eTypeOfEnergySource();
            Fuel.eFuelType?typeOfFuelChoice = new Fuel.eFuelType();
            bool           v_VehicleFound;

            printSign("filling Charging Form");

            do
            {
                v_VehicleFound = GetVehicleLicenseNumberCheckForExisiting(io_Garage, out licenseNumber);
                if (v_VehicleFound == false)
                {
                    Console.WriteLine("Vehicle Wasn't Found Try Again");
                }
            }while (v_VehicleFound == false);
            quantityToAdd      = getFloatWithoutAnyCondition("Quantity To Add");
            typeOfEnergyChoice = (EnergySource.eTypeOfEnergySource)PrintAllEnumValuesGetUserChoice(typeOfEnergyChoice, "Fuel Type Choosing");

            if (typeOfEnergyChoice == EnergySource.eTypeOfEnergySource.Fuel)
            {
                typeOfFuelChoice = (Fuel.eFuelType)PrintAllEnumValuesGetUserChoice(typeOfFuelChoice.Value, "Fuel Type Choosing");
            }
            else
            {
                typeOfFuelChoice = null;
            }

            return(new ChargingVehicleDetails(licenseNumber, quantityToAdd, typeOfEnergyChoice, typeOfFuelChoice));
        }
示例#3
0
        public Car(string i_LicenceNumber, string i_ModelName, EnergySource.eTypeOfEnergySource i_EnergySourceType, string i_WheelManufactorName) : base(i_LicenceNumber, i_ModelName, i_EnergySourceType)
        {
            for (int i = 0; i < sr_CarAmountOfWheels; i++)
            {
                CollectionOfWheels.Add(new Wheel(i_WheelManufactorName, sr_CarMaxAirPressure));
            }

            SetEnergySource();
        }
示例#4
0
        public Vehicle(string i_LicenceNumber, string i_ModelName, EnergySource.eTypeOfEnergySource i_Source)
        {
            r_ModelName          = i_ModelName;
            r_LicenceNumber      = i_LicenceNumber;
            r_CollectionOfWheels = new List <Wheel>();

            if (i_Source == EnergySource.eTypeOfEnergySource.Battery)
            {
                r_EnergySource = new Battery();
            }
            else
            {
                r_EnergySource = new Fuel();
            }
        }
        public ChargingVehicleDetails(string i_LicenceNumber, float i_QuantityOfEnergyToAdd, EnergySource.eTypeOfEnergySource i_TypeOfEnergySource, Fuel.eFuelType?i_FuelType)
        {
            // catch argument exception in case
            if (i_FuelType.HasValue == true)
            {
                r_FuelType = i_FuelType;
            }
            else
            {
                r_FuelType = null;
            }

            r_QuantityOfEnergyToAdd = i_QuantityOfEnergyToAdd;
            r_TypeOfEnergySource    = i_TypeOfEnergySource;
            r_LicenceNumber         = i_LicenceNumber;
        }
        public static Vehicle CreateVehicles(out bool v_VehicleIsValid, string i_LicenceNumber, string i_ModelName, EnergySource.eTypeOfEnergySource i_Source, string i_WheelManuFactorName, eSupportedVehicle i_typeOfVehicleToInsert)
        {
            Vehicle newVehicle;

            if (i_typeOfVehicleToInsert == eSupportedVehicle.Car)
            {
                newVehicle = new Car(i_LicenceNumber, i_ModelName, i_Source, i_WheelManuFactorName);
            }
            else if (i_typeOfVehicleToInsert == eSupportedVehicle.Motorcycle)
            {
                newVehicle = new Motorcycle(i_LicenceNumber, i_ModelName, i_Source, i_WheelManuFactorName);
            }
            else if (i_typeOfVehicleToInsert == eSupportedVehicle.Truck)
            {
                newVehicle = new Truck(i_LicenceNumber, i_ModelName, i_Source, i_WheelManuFactorName);
            }
            else
            {
                throw new ArgumentException(string.Format("Vehicle Manufacture doesn't support this ({0}) kind of vehicle yet", i_typeOfVehicleToInsert));
            }

            v_VehicleIsValid = true;
            return(newVehicle);
        }