/**
         * (1) Insert new vehicle
         */
        public void InsertVehicle(
            eVehicle i_TypeOfVehicle,
            string i_ModelName,
            string i_LicenseNumber,
            string i_OwnerPhoneNumber,
            string i_OwnerName,
            string i_WheelManufacturer,
            float i_CurrentAirPressure,
            float i_CurrentCapacity,
            List <object> i_ExtraProperties)
        {
            CreateNewVehicleObject newVehicleObject = new CreateNewVehicleObject();
            Vehicle newVehicle = newVehicleObject.CreateVehicleObject(
                i_TypeOfVehicle,
                i_ModelName,
                i_LicenseNumber,
                i_OwnerPhoneNumber,
                i_OwnerName,
                i_WheelManufacturer,
                i_CurrentAirPressure,
                i_CurrentCapacity,
                i_ExtraProperties);

            m_AllVehicles.Add(newVehicle);
        }
Esempio n. 2
0
        public Car(
            eVehicle i_TypeOfVehicle,
            string i_ModelName,
            string i_LicenseNumber,
            string i_OwnerPhoneNumber,
            string i_OwnerName,
            string i_WheelManufacturer,
            float i_CurrentAirPressure,
            float i_CurrentCapacity)
            : base(
                i_TypeOfVehicle,
                i_ModelName,
                i_LicenseNumber,
                i_OwnerPhoneNumber,
                i_OwnerName,
                i_WheelManufacturer,
                i_CurrentAirPressure,
                i_CurrentCapacity)
        {
            AddWheels(i_CurrentAirPressure, 4, 32);

            if (i_TypeOfVehicle == eVehicle.ElectricCar)
            {
                CurrEngine = new ElectricEngine(2.1f);
                CurrEngine.CurrentCapacity = i_CurrentCapacity;
            }
            else
            {
                CurrEngine = new FuelEngine(60, eFuelType.Octane96);
                CurrEngine.CurrentCapacity = i_CurrentCapacity;
            }
        }
        public Motorcycle(
            eVehicle i_TypeOfVehicle,
            string i_ModelName,
            string i_LicenseNumber,
            string i_OwnerPhoneNumber,
            string i_OwnerName,
            string i_WheelManufacturer,
            float i_CurrentAirPressure,
            float i_CurrentCapacity)
            : base(
                i_TypeOfVehicle,
                i_ModelName,
                i_LicenseNumber,
                i_OwnerPhoneNumber,
                i_OwnerName,
                i_WheelManufacturer,
                i_CurrentAirPressure,
                i_CurrentCapacity)
        {
            AddWheels(i_CurrentAirPressure, 2, 30);

            if (i_TypeOfVehicle == eVehicle.ElectricMotorcycle)
            {
                CurrEngine = new ElectricEngine(1.2f);
                CurrEngine.CurrentCapacity = i_CurrentCapacity;
            }
            else
            {
                CurrEngine = new FuelEngine(7, eFuelType.Octane95);
                CurrEngine.CurrentCapacity = i_CurrentCapacity;
            }
        }
Esempio n. 4
0
        public static Vehicle MakeNewVehicle(eVehicle i_TypeToCreate, string i_ModelName, string i_LicensePlateNumber, out List <string> o_QuestionsToAsk, out List <string> o_Attributes)
        {
            switch (i_TypeToCreate)
            {
            case eVehicle.ElectricCar:
            {
                o_QuestionsToAsk = ElectricCar.GetQuestions();
                o_Attributes     = ElectricCar.GetAtributes();
                return(new ElectricCar(i_ModelName, i_LicensePlateNumber, 4, 32, 2.1f));
            }

            case eVehicle.FuelCar:
            {
                o_QuestionsToAsk = FuelCar.GetQuestions();
                o_Attributes     = FuelCar.GetAtributes();
                return(new FuelCar(i_ModelName, i_LicensePlateNumber, 4, 32, FuelVehicle.eFuel.Octan96, 60));
            }

            case eVehicle.ElectricMotorcycle:
            {
                o_QuestionsToAsk = ElectricMotorcycle.GetQuestions();
                o_Attributes     = ElectricMotorcycle.GetAtributes();
                return(new ElectricMotorcycle(i_ModelName, i_LicensePlateNumber, 2, 30, 1.2f));
            }

            case eVehicle.FuelMotorcycle:
            {
                o_QuestionsToAsk = FuelMotorcycle.GetQuestions();
                o_Attributes     = FuelMotorcycle.GetAtributes();

                return(new FuelMotorcycle(i_ModelName, i_LicensePlateNumber, 2, 30, FuelVehicle.eFuel.Octan95, 7));
            }

            case eVehicle.Truck:
            {
                o_QuestionsToAsk = Truck.GetQuestions();
                o_Attributes     = Truck.GetAtributes();
                return(new Truck(i_ModelName, i_LicensePlateNumber, 16, 28, FuelVehicle.eFuel.Soler, 120));
            }

            default:
            {
                o_QuestionsToAsk = null;
                o_Attributes     = null;
                return(null);
            }
            }
        }
 public Vehicle(
     eVehicle i_TypeOfVehicle,
     string i_ModelName,
     string i_LicenseNumber,
     string i_OwnerPhoneNumber,
     string i_OwnerName,
     string i_WheelManufacturer,
     float i_CurrentAirPressure,
     float i_CurrentCapacity)
 {
     r_TypeOfVehicle     = i_TypeOfVehicle;
     r_ModelName         = i_ModelName;
     r_OwnerPhoneNumber  = i_OwnerPhoneNumber;
     r_LicenseNumber     = i_LicenseNumber;
     r_OwnerName         = i_OwnerName;
     m_VehicleStatus     = eVehicleStatus.InRepair;
     r_WheelManufacturer = i_WheelManufacturer;
 }
        public Generic(
            eVehicle i_TypeOfVehicle,
            string i_ModelName,
            string i_LicenseNumber,
            string i_OwnerPhoneNumber,
            string i_OwnerName,
            string i_WheelManufacturer,
            float i_CurrentAirPressure,
            float i_CurrentCapacity,
            float i_MaxAirPressure,
            int i_NumberOfWheels,
            float i_MaxCapacity,
            eFuelType i_FuelType)
            : base(
                i_TypeOfVehicle,
                i_ModelName,
                i_LicenseNumber,
                i_OwnerPhoneNumber,
                i_OwnerName,
                i_WheelManufacturer,
                i_CurrentAirPressure,
                i_CurrentCapacity)
        {
            FuelType = i_FuelType;

            AddWheels(i_CurrentAirPressure, i_NumberOfWheels, i_MaxAirPressure);
            if (i_FuelType == eFuelType.Electric)
            {
                CurrEngine = new ElectricEngine(i_MaxCapacity);
            }
            else
            {
                CurrEngine = new FuelEngine(i_MaxCapacity, m_FuelType);
            }

            CurrEngine.CurrentCapacity = i_CurrentCapacity;
            CurrEngine.MaxCapacity     = i_MaxCapacity;
        }
Esempio n. 7
0
 public Truck(
     eVehicle i_TypeOfVehicle,
     string i_Model_Name,
     string i_LicenseNumber,
     string i_OwnerPhoneNumber,
     string i_OwnerName,
     string i_WheelManufacturer,
     float i_CurrentAirPressure,
     float i_CurrentCapacity)
     : base(
         i_TypeOfVehicle,
         i_Model_Name,
         i_LicenseNumber,
         i_OwnerPhoneNumber,
         i_OwnerName,
         i_WheelManufacturer,
         i_CurrentAirPressure,
         i_CurrentCapacity)
 {
     AddWheels(i_CurrentAirPressure, 16, 28);
     CurrEngine = new FuelEngine(120, eFuelType.Solar);
     CurrEngine.CurrentCapacity = i_CurrentCapacity;
 }
        /**
         * (7) Displays Vehicle information. Uses Find (from above)
         */
        public List <object> DisplayVehicleInfo(string i_LicenseNumber)
        {
            Vehicle       newVehicle  = Find(i_LicenseNumber);
            List <object> vehicleInfo = new List <object>();

            if (newVehicle != null)
            {
                vehicleInfo.Add(newVehicle.LicenseNumber);
                vehicleInfo.Add(newVehicle.OwnerName);
                vehicleInfo.Add(newVehicle.OwnerPhoneNumber);
                vehicleInfo.Add(newVehicle.VehicleType);
                vehicleInfo.Add(newVehicle.ModelName);
                vehicleInfo.Add(newVehicle.VehicleStatus);
                vehicleInfo.Add(newVehicle.Wheels[0].ManufacturerName);
                vehicleInfo.Add(newVehicle.Wheels[0].CurrentAirPressure);

                eVehicle newVehiclesType = newVehicle.VehicleType;

                switch (newVehiclesType)
                {
                case eVehicle.ElectricMotorcycle:
                case eVehicle.FuelMotorcycle:
                    Motorcycle motorcycle = (Motorcycle)newVehicle;
                    vehicleInfo.Add(motorcycle.LicenseType);
                    vehicleInfo.Add(motorcycle.EngineVolume);
                    vehicleInfo.Add(motorcycle.CurrEngine.CurrentCapacity);
                    if (newVehiclesType is eVehicle.FuelMotorcycle)
                    {
                        vehicleInfo.Add(motorcycle.CurrEngine.FuelType);
                    }

                    break;

                case eVehicle.ElectricCar:
                case eVehicle.FuelCar:
                    Car car = (Car)newVehicle;
                    vehicleInfo.Add(car.CarColor);
                    vehicleInfo.Add(car.NumberOfCarDoors);
                    vehicleInfo.Add(car.CurrEngine.CurrentCapacity);

                    if (newVehicle.VehicleType is eVehicle.FuelCar)
                    {
                        vehicleInfo.Add(car.CurrEngine.FuelType);
                    }

                    break;

                case eVehicle.Truck:
                    Truck truck = (Truck)newVehicle;
                    vehicleInfo.Add(truck.VolumeOfCargo);
                    vehicleInfo.Add(truck.ContainsDangerousMaterials);
                    vehicleInfo.Add(truck.CurrEngine.CurrentCapacity);
                    vehicleInfo.Add(truck.CurrEngine.FuelType);
                    break;

                case eVehicle.Generic:
                    Generic genericVehicle = (Generic)newVehicle;
                    vehicleInfo.Add(genericVehicle.CurrEngine.CurrentCapacity);
                    vehicleInfo.Add(genericVehicle.FuelType);
                    break;
                }
            }

            return(vehicleInfo);
        }
Esempio n. 9
0
        /**
         * (1) Insert new vehicle
         */
        public Vehicle CreateVehicleObject(
            eVehicle i_TypeOfVehicle,
            string i_ModelName,
            string i_LicenseNumber,
            string i_OwnerPhoneNumber,
            string i_OwnerName,
            string i_WheelManufacturer,
            float i_CurrentAirPressure,
            float i_CurrentCapacity,
            List <object> i_ExtraProperties)
        {
            Vehicle newVehicle = null;

            try
            {
                if (i_TypeOfVehicle == eVehicle.FuelMotorcycle || i_TypeOfVehicle == eVehicle.ElectricMotorcycle)
                {
                    Motorcycle newMotorcycle = new Motorcycle(
                        i_TypeOfVehicle,
                        i_ModelName,
                        i_LicenseNumber,
                        i_OwnerPhoneNumber,
                        i_OwnerName,
                        i_WheelManufacturer,
                        i_CurrentAirPressure,
                        i_CurrentCapacity);
                    newMotorcycle.LicenseType  = (eLicenseType)i_ExtraProperties[0];
                    newMotorcycle.EngineVolume = (int)i_ExtraProperties[1];
                    newVehicle = newMotorcycle;
                }

                if (i_TypeOfVehicle == eVehicle.FuelCar || i_TypeOfVehicle == eVehicle.ElectricCar)
                {
                    Car newCar = new Car(
                        i_TypeOfVehicle,
                        i_ModelName,
                        i_LicenseNumber,
                        i_OwnerPhoneNumber,
                        i_OwnerName,
                        i_WheelManufacturer,
                        i_CurrentAirPressure,
                        i_CurrentCapacity);
                    newCar.CarColor         = (eCarColor)i_ExtraProperties[0];
                    newCar.NumberOfCarDoors = (eCarDoors)i_ExtraProperties[1];
                    newVehicle = newCar;
                }

                if (i_TypeOfVehicle == eVehicle.Truck)
                {
                    Truck newTruck = new Truck(
                        i_TypeOfVehicle,
                        i_ModelName,
                        i_LicenseNumber,
                        i_OwnerPhoneNumber,
                        i_OwnerName,
                        i_WheelManufacturer,
                        i_CurrentAirPressure,
                        i_CurrentCapacity);
                    newTruck.ContainsDangerousMaterials = (bool)i_ExtraProperties[0];
                    newTruck.VolumeOfCargo = (float)i_ExtraProperties[1];

                    newVehicle = newTruck;
                }

                if (i_TypeOfVehicle == eVehicle.Generic)
                {
                    Generic newGeneric = new Generic(
                        i_TypeOfVehicle,
                        i_ModelName,
                        i_LicenseNumber,
                        i_OwnerPhoneNumber,
                        i_OwnerName,
                        i_WheelManufacturer,
                        i_CurrentAirPressure,
                        i_CurrentCapacity,
                        (float)i_ExtraProperties[0],
                        (int)i_ExtraProperties[1],
                        (float)i_ExtraProperties[2],
                        (eFuelType)i_ExtraProperties[3]);
                    newVehicle = newGeneric;
                }

                // float i_CurrentCapacity,
                // float i_MaxAirPressure,
                // int i_NumberOfWheels,
                // float i_MaxCapacity,
                //     eFuelType i_FuelType)
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(newVehicle);
        }