private static Vehicles CreateElectricCarObject()
        {
            float  PercentageOfEnergyRemainingInItsEnergysource = 0, BatteryTimeremainingInhours = 0, CurrentAirPressur = 0;
            string LicenseNumber = "", ModelName = "", WheelManufacturerName = "";
            int    AmountOfDoors = 0;

            Car.eColor ColorOfCar = 0;
            Vehicles   NewElectricCarObject;

            GetNewVehiclePharameter(ref LicenseNumber, ref ModelName,
                                    ref PercentageOfEnergyRemainingInItsEnergysource, ref CurrentAirPressur, ref WheelManufacturerName);

            if (CurrentAirPressur > Car.CarWheelsMaxAirPressure || CurrentAirPressur < 0)
            {
                throw new ValueOutOfRangeException(Car.CarWheelsMaxAirPressure, 0);
            }

            GetCarPharameter(ref ColorOfCar, ref AmountOfDoors);

            GetElectricVehiclesPharameter(ref BatteryTimeremainingInhours);

            if (BatteryTimeremainingInhours > ElectricCar.MaximumBatteryInHours || BatteryTimeremainingInhours < 0)
            {
                throw new ValueOutOfRangeException(ElectricCar.MaximumBatteryInHours, 0);
            }

            NewElectricCarObject = CreatNewObject.CreatElectricCar(AmountOfDoors, BatteryTimeremainingInhours, ColorOfCar
                                                                   , ModelName, LicenseNumber,
                                                                   PercentageOfEnergyRemainingInItsEnergysource, CurrentAirPressur, WheelManufacturerName);

            return(NewElectricCarObject);
        }
        private static Vehicles CreateGasMotorcycleObject()
        {
            float  PercentageOfEnergyRemainingInItsEnergysource = 0, FuelPresentInLiters = 0, CurrentAirPressur = 0;
            string LicenseNumber = "", ModelName = "", WheelManufacturerName = "";

            Motorcycle.eLicenseType LicenseType = 0;
            int      EngineVolumeInCc = 0;
            Vehicles NewGasMotorcycel;

            GetNewVehiclePharameter(ref LicenseNumber, ref ModelName,
                                    ref PercentageOfEnergyRemainingInItsEnergysource, ref CurrentAirPressur, ref WheelManufacturerName);

            if (CurrentAirPressur > Motorcycle.MotorcycleWheelsMaxAirPressure || CurrentAirPressur < 0)
            {
                throw new ValueOutOfRangeException(Motorcycle.MotorcycleWheelsMaxAirPressure, 0);
            }

            GetGasVehiclesPharameter(ref FuelPresentInLiters);

            if (FuelPresentInLiters > MotorcycelWorkingOnGas.MaximumAmountOfFuelInLiters || FuelPresentInLiters < 0)
            {
                throw new ValueOutOfRangeException(MotorcycelWorkingOnGas.MaximumAmountOfFuelInLiters, 0);
            }

            GetMotorcyclePharameter(ref EngineVolumeInCc, ref LicenseType);

            NewGasMotorcycel = CreatNewObject.CreatGasMotorcycel(FuelPresentInLiters, LicenseType, EngineVolumeInCc, ModelName, LicenseNumber,
                                                                 PercentageOfEnergyRemainingInItsEnergysource, WheelManufacturerName, CurrentAirPressur);

            return(NewGasMotorcycel);
        }
        public static Vehicles CreateElectricMotorsycleObject()
        {
            float  PercentageOfEnergyRemainingInItsEnergysource = 0, CurrentAirPressur = 0, BatteryTimeremainingInhours = 0;
            string LicenseNumber = "", ModelName = "", WheelManufacturerName = "";

            Motorcycle.eLicenseType LicenseType = 0;
            int      EngineVolumeInCc = 0;
            Vehicles NewElectricMotorcycel;

            GetNewVehiclePharameter(ref LicenseNumber, ref ModelName, ref PercentageOfEnergyRemainingInItsEnergysource, ref CurrentAirPressur, ref WheelManufacturerName);

            if (CurrentAirPressur > Motorcycle.MotorcycleWheelsMaxAirPressure || CurrentAirPressur < 0)
            {
                throw new ValueOutOfRangeException(Motorcycle.MotorcycleWheelsMaxAirPressure, 0);
            }

            GetMotorcyclePharameter(ref EngineVolumeInCc, ref LicenseType);
            GetElectricVehiclesPharameter(ref BatteryTimeremainingInhours);

            if (BatteryTimeremainingInhours > ElectricMotorcycel.MaximumBatteryInHours || BatteryTimeremainingInhours < 0)
            {
                throw new ValueOutOfRangeException(ElectricMotorcycel.MaximumBatteryInHours, 0);
            }

            NewElectricMotorcycel = CreatNewObject.CreatElectricMotorcycel(LicenseType, BatteryTimeremainingInhours, EngineVolumeInCc, ModelName, LicenseNumber,
                                                                           PercentageOfEnergyRemainingInItsEnergysource, WheelManufacturerName, CurrentAirPressur);

            return(NewElectricMotorcycel);
        }
        private static Vehicles CreateGasCarObject()
        {
            float  PercentageOfEnergyRemainingInItsEnergysource = 0, FuelPresentInLiters = 0, CurrentAirPressur = 0;
            string LicenseNumber = "", ModelName = "", WheelManufacturerName = "";

            Car.eColor ColorOfCar = 0;
            int        AmountOfDoors = 0;
            Vehicles   NewGasCar;

            GetNewVehiclePharameter(ref LicenseNumber, ref ModelName, ref PercentageOfEnergyRemainingInItsEnergysource, ref CurrentAirPressur, ref WheelManufacturerName);
            if (CurrentAirPressur > Car.CarWheelsMaxAirPressure || CurrentAirPressur < 0)
            {
                throw new ValueOutOfRangeException(Car.CarWheelsMaxAirPressure, 0);
            }

            GetGasVehiclesPharameter(ref FuelPresentInLiters);

            if (FuelPresentInLiters > CarWorkingOnGas.MaximumAmountOfFuelInLiters || FuelPresentInLiters < 0)
            {
                throw new ValueOutOfRangeException(CarWorkingOnGas.MaximumAmountOfFuelInLiters, 0);
            }

            GetCarPharameter(ref ColorOfCar, ref AmountOfDoors);
            NewGasCar = CreatNewObject.CreatGasCar(AmountOfDoors, FuelPresentInLiters, ColorOfCar
                                                   , ModelName, LicenseNumber,
                                                   PercentageOfEnergyRemainingInItsEnergysource, CurrentAirPressur, WheelManufacturerName);

            return(NewGasCar);
        }
        public static Vehicles CreateGasTruckObject()
        {
            float    Cargovolume = 0, PercentageOfEnergyRemainingInItsEnergysource = 0, CurrentAirPressur = 0, FuelPresentInLiters = 0;
            string   LicenseNumber = "", ModelName = "", WheelManufacturerName = "";
            bool     IsTransportingDangerousSubstances = false;
            Vehicles NewTruckGas;

            GetNewVehiclePharameter(ref LicenseNumber, ref ModelName, ref PercentageOfEnergyRemainingInItsEnergysource, ref CurrentAirPressur, ref WheelManufacturerName);

            if (CurrentAirPressur > TruckGas.CarWheelsMaxAirPressure || CurrentAirPressur < 0)
            {
                throw new ValueOutOfRangeException(TruckGas.CarWheelsMaxAirPressure, 0);
            }

            GetGasVehiclesPharameter(ref FuelPresentInLiters);
            if (FuelPresentInLiters > TruckGas.MaximumAmountOfFuelInLiters || FuelPresentInLiters < 0)
            {
                throw new ValueOutOfRangeException(TruckGas.MaximumAmountOfFuelInLiters, 0);
            }

            GetGasTruckPharameter(ref IsTransportingDangerousSubstances, ref Cargovolume);
            NewTruckGas = CreatNewObject.CreatGasTruc(FuelPresentInLiters, ModelName, LicenseNumber, PercentageOfEnergyRemainingInItsEnergysource,
                                                      WheelManufacturerName, CurrentAirPressur, IsTransportingDangerousSubstances, Cargovolume);

            return(NewTruckGas);
        }