示例#1
0
 public Motorcycle(
     string i_ModelName,
     string i_LicensePlate,
     float i_EnergyLeft,
     float i_MaxAirPressure,
     string i_ManufacturerName,
     eLicenseType i_LicenseType,
     float i_MaxEngineCapacity,
     int i_EngineCapacity,
     float i_CurrentAirPressure,
     Engine i_Engine,
     Vehicle.eType i_VehicleType)
     : base(
         i_ModelName,
         i_LicensePlate,
         i_EnergyLeft,
         k_NumberOfWheels,
         k_WheelsMaxAirPressure,
         i_ManufacturerName,
         i_MaxEngineCapacity,
         i_CurrentAirPressure,
         i_Engine,
         i_VehicleType)
 {
     m_LicenseType    = i_LicenseType;
     m_EngineCapacity = i_EngineCapacity;
 }
示例#2
0
        private Vehicle createNewVehicle(
            string i_LicensePlate,
            string i_ModelName,
            string i_WheelManufacturer,
            out string o_OwnerName,
            out string o_OwnerPhone)
        {
            Vehicle newVehicle;

            Vehicle.eType        vehicleType, vehicleOptions = new Vehicle.eType();
            EnergySource.eSource vehicleEnergySource;
            EnergySource.eSource energySourceOptions = new EnergySource.eSource();
            string PartOfOptionsHeaderMsg            = string.Format("vehicle type");

            o_OwnerName  = UI.GetOwnerName();
            o_OwnerPhone = UI.GetOwnerPhone();

            vehicleType            = (Vehicle.eType)UI.GetSpecificEnumInput(PartOfOptionsHeaderMsg, vehicleOptions);
            PartOfOptionsHeaderMsg = string.Format("energy source");
            if (vehicleType != Vehicle.eType.Truck)
            {
                vehicleEnergySource = (EnergySource.eSource)UI.GetSpecificEnumInput(PartOfOptionsHeaderMsg, energySourceOptions);
            }
            else
            {
                vehicleEnergySource = EnergySource.eSource.GasTank;
            }

            newVehicle = VehicleFactory.CreateVehicle(vehicleType, vehicleEnergySource, i_LicensePlate, i_ModelName, i_WheelManufacturer);

            insertVehicleDetails(newVehicle);

            return(newVehicle);
        }
示例#3
0
        public static Vehicle CreateVehicle(
            Vehicle.eType i_TypeOfVehicle,
            EnergySource.eSource i_SourceOfEnergy,
            string i_LicensePlate,
            string i_ModelName,
            string i_WheelManufacturer)
        {
            Vehicle result = null;

            switch (i_TypeOfVehicle)
            {
            case Vehicle.eType.Motorcycle:
                result = new Motorcycle(i_LicensePlate, i_ModelName, i_WheelManufacturer, i_SourceOfEnergy);
                break;

            case Vehicle.eType.Car:
                result = new Car(i_LicensePlate, i_ModelName, i_WheelManufacturer, i_SourceOfEnergy);
                break;

            case Vehicle.eType.Truck:
                result = new Truck(i_LicensePlate, i_ModelName, i_WheelManufacturer, i_SourceOfEnergy);
                break;
            }

            return(result);
        }
示例#4
0
 public Car(
     string i_ModelName,
     string i_LicensePlate,
     float i_EnergyLeft,
     string i_ManufacturerName,
     eColor i_Color,
     eDoorsAmount i_DoorsNumber,
     float i_MaxEngineCapacity,
     float i_CurrentAirPressure,
     Engine i_Engine,
     Vehicle.eType i_VehicleType) : base(
         i_ModelName,
         i_LicensePlate,
         i_EnergyLeft,
         k_NumberOfWheels,
         k_WheelsMaxAirPressure,
         i_ManufacturerName,
         i_MaxEngineCapacity,
         i_CurrentAirPressure,
         i_Engine,
         i_VehicleType)
 {
     m_Color       = i_Color;
     m_DoorsNumber = i_DoorsNumber;
 }
示例#5
0
        public static void AddNewCar()
        {
            Console.WriteLine("Please enter the owner's name: ");
            string ownersName = Console.ReadLine();

            if (ownersName == null)
            {
                throw new ArgumentNullException();
            }

            for (int i = 0; i < ownersName.Length; i++)
            {
                if (ownersName[i] != ' ' && !char.IsLetter(ownersName[i]))
                {
                    throw new FormatException();
                }
            }

            Console.WriteLine("Please enter the owner's telephone number: ");
            string ownersTelephone = Console.ReadLine();
            int    convertToNumber;
            bool   isSucceededToConvert = int.TryParse(ownersTelephone, out convertToNumber);

            if (!isSucceededToConvert)
            {
                throw new FormatException();
            }

            Vehicle.eType            typeOfVehicleToAdd     = (Vehicle.eType)EnumUserChoice(typeof(Vehicle.eType));
            List <VehicleParameters> theParametresByType    = Vehicle.ChooseParametrsByType(typeOfVehicleToAdd);
            List <object>            theValueUserParameters = UserChoosesParametres(theParametresByType); // user entered values by type of vehicle

            Vehicle newVehicle = BuildVehicle.getVehicleFromUser(typeOfVehicleToAdd, theValueUserParameters);
            bool    ifNotSucceededToAddVehicle = m_Garage.TryToAddVehicle(newVehicle, ownersName, ownersTelephone);

            if (!ifNotSucceededToAddVehicle)
            {
                Console.WriteLine("Your vehicle added to the garage!");
            }
            else
            {
                Console.WriteLine("Your vehicle is already exist in the garage!");
            }
        }
示例#6
0
        public static Vehicle getVehicleFromUser(Vehicle.eType i_Type, List <object> i_Paramaters)
        {
            Vehicle newVehicle = null;

            switch (i_Type)
            {
            case Vehicle.eType.ElectricCar:
                newVehicle = new ElectricCar(
                    i_Paramaters[0].ToString(),
                    i_Paramaters[1].ToString(),
                    float.Parse(i_Paramaters[2].ToString()),
                    (string)i_Paramaters[3],
                    (Car.eColor)Enum.Parse(typeof(Car.eColor),
                                           i_Paramaters[5].ToString()),
                    (Car.eDoorsAmount)Enum.Parse(typeof(Car.eDoorsAmount),
                                                 i_Paramaters[6].ToString()),
                    float.Parse(i_Paramaters[4].ToString()));
                break;

            case Vehicle.eType.FuelCar:
                newVehicle = new FuelCar(
                    i_Paramaters[0].ToString(),
                    i_Paramaters[1].ToString(),
                    float.Parse(i_Paramaters[2].ToString()),
                    i_Paramaters[3].ToString(),
                    (Car.eColor)Enum.Parse(typeof(Car.eColor),
                                           i_Paramaters[5].ToString()),
                    (Car.eDoorsAmount)Enum.Parse(typeof(Car.eDoorsAmount),
                                                 i_Paramaters[6].ToString()),
                    float.Parse(i_Paramaters[4].ToString()));
                break;

            case Vehicle.eType.ElectricMotorcycle:
                newVehicle = new ElectricMotorcycle(
                    i_Paramaters[0].ToString(),
                    i_Paramaters[1].ToString(),
                    float.Parse(i_Paramaters[2].ToString()),
                    i_Paramaters[3].ToString(),
                    (Motorcycle.eLicenseType)Enum.Parse(typeof(Motorcycle.eLicenseType),
                                                        i_Paramaters[5].ToString()),
                    int.Parse(i_Paramaters[6].ToString()),
                    float.Parse(i_Paramaters[4].ToString()));
                break;

            case Vehicle.eType.FuelMotorcycle:
                newVehicle = new FuelMotorcycle(
                    i_Paramaters[0].ToString(),
                    i_Paramaters[1].ToString(),
                    float.Parse(i_Paramaters[2].ToString()),
                    i_Paramaters[3].ToString(),
                    (Motorcycle.eLicenseType)Enum.Parse(typeof(Motorcycle.eLicenseType),
                                                        i_Paramaters[5].ToString()),
                    int.Parse(i_Paramaters[6].ToString()),
                    float.Parse(i_Paramaters[4].ToString()));
                break;

            case Vehicle.eType.FuelTruck:
                newVehicle = new FuelTrack(
                    i_Paramaters[0].ToString(),
                    i_Paramaters[1].ToString(),
                    float.Parse(i_Paramaters[2].ToString()),
                    i_Paramaters[3].ToString(),
                    bool.Parse(i_Paramaters[5].ToString()),
                    float.Parse(i_Paramaters[6].ToString()),
                    float.Parse(i_Paramaters[4].ToString()));
                break;

            default:
                break;
            }

            return(newVehicle);
        }