Exemplo n.º 1
0
        public static Car CreateCar(eEngineTypes i_EngineType, string i_Model, string i_LicenseNumber, int i_NumberOfDoors, eVehicleColors i_Color, string i_WheelManufacturer)
        {
            Engine     newEngine             = null;
            Car        newCar                = null;
            float      energyCapacity        = 0;
            eFuelTypes fuelType              = eFuelTypes.None;
            float      k_WheelMaxAirPressure = 32;
            int        k_AmountOfWheels      = 4;

            switch (i_EngineType)
            {
            case eEngineTypes.ElectricVehicle:
            {
                energyCapacity = 3.2f;
                break;
            }

            case eEngineTypes.FuelVehicle:
            {
                energyCapacity = 45;
                fuelType       = eFuelTypes.Octan98;
                break;
            }
            }

            newEngine           = EngineFactory.CreateEngine(i_EngineType, energyCapacity, fuelType);
            newCar              = new Car(newEngine, i_Model, i_LicenseNumber, i_NumberOfDoors);
            newCar.Wheels       = WheelsFactory.CreateWheels(k_AmountOfWheels, k_WheelMaxAirPressure, i_WheelManufacturer);
            newCar.VehicleColor = i_Color;
            return(newCar);
        }
Exemplo n.º 2
0
        public static Motorcycle CreateMotorCycle(eEngineTypes i_EngineType, string i_Model, string i_LicenseNumber, int i_EngineVolume, eLicenseTypes i_LicenseType, string i_WheelManufacturer)
        {
            float      energyCapacity        = 0;
            eFuelTypes fuelType              = eFuelTypes.None;
            float      k_WheelMaxAirPressure = 30;
            int        k_AmountOfWheels      = 2;

            switch (i_EngineType)
            {
            case eEngineTypes.ElectricVehicle:
            {
                energyCapacity = 1.8f;
                break;
            }

            case eEngineTypes.FuelVehicle:
            {
                energyCapacity = 6;
                fuelType       = eFuelTypes.Octan96;
                break;
            }
            }

            Engine     newEngine     = EngineFactory.CreateEngine(i_EngineType, energyCapacity, fuelType);
            Motorcycle newMotorCycle = new Motorcycle(newEngine, i_Model, i_LicenseNumber, i_EngineVolume);

            newMotorCycle.Wheels      = WheelsFactory.CreateWheels(k_AmountOfWheels, k_WheelMaxAirPressure, i_WheelManufacturer);
            newMotorCycle.LicenseType = i_LicenseType;
            return(newMotorCycle);
        }
Exemplo n.º 3
0
 private void checkIfFillable(Vehicle i_Vehicle, eEngineTypes i_RequestedEngine)
 {
     if (i_Vehicle.GetEngineType() != i_RequestedEngine)
     {
         string errorMessage = string.Format("Cant fill energy to vehicle with lisence number: {0} because it's engine is not compatible!", i_Vehicle.LicenseNumber);
         throw new ArgumentException(errorMessage);
     }
 }
Exemplo n.º 4
0
 private void refuelEngineAUX(eEngineTypes i_EngineType, string i_LicensePlate, float i_AmountToAdd)
 {
     if (i_EngineType == eEngineTypes.Electrical)
     {
         rechargeElectricEngine(i_LicensePlate, i_AmountToAdd);
     }
     else
     {
         refuelGasEngine(i_LicensePlate, i_AmountToAdd);
     }
 }
Exemplo n.º 5
0
 public Car(
     OwnerInfo i_Owner,
     string i_ModelName,
     string i_LicenseNumber,
     float i_MaxEnergyCapacity,
     eColors i_Color,
     eNumberOfDoors i_NumOfDoors,
     eEngineTypes i_EngineType)
     : base(i_Owner, i_ModelName, i_LicenseNumber, i_MaxEnergyCapacity, k_MaxAirPressure, k_NumberOfWheels, i_EngineType)
 {
     r_Color         = i_Color;
     r_NumberOfDoors = i_NumOfDoors;
 }
Exemplo n.º 6
0
 public Motorcycle(
     OwnerInfo i_Owner,
     string i_ModelName,
     string i_LicenseNumber,
     float i_MaxEnergyCapacity,
     eLicenseTypes i_LicenseType,
     int i_EngineCapacity,
     eEngineTypes i_EngineType)
     : base(i_Owner, i_ModelName, i_LicenseNumber, i_MaxEnergyCapacity, k_MaxAirPressure, k_NumberOfWheels, i_EngineType)
 {
     r_LicenseType    = i_LicenseType;
     r_EngineCapacity = i_EngineCapacity;
 }
Exemplo n.º 7
0
        private Car getDataForCreateCar(eEngineTypes i_EngineType, string i_LicenseNumber)
        {
            string         model;
            int            numberOfDoors;
            eVehicleColors color;
            string         wheelsManufacturer;

            getModel(out model);
            getWheelsManufacturer(out wheelsManufacturer);
            getValidNumberOfDoors(out numberOfDoors);
            getValidColor(out color);

            return(VehicleFactory.CreateCar(i_EngineType, model, i_LicenseNumber, numberOfDoors, color, wheelsManufacturer));
        }
Exemplo n.º 8
0
        private Motorcycle getDataForCreateMotorycle(eEngineTypes i_EngineType, string i_LicenseNumber)
        {
            string        model;
            int           engineVolume;
            eLicenseTypes licenseType;
            string        wheelsManufacturer;

            getModel(out model);
            getValidEngineVolume(out engineVolume);
            getWheelsManufacturer(out wheelsManufacturer);
            getLicenseType(out licenseType);

            return(VehicleFactory.CreateMotorCycle(i_EngineType, model, i_LicenseNumber, engineVolume, licenseType, wheelsManufacturer));
        }
Exemplo n.º 9
0
Arquivo: Truck.cs Projeto: itonroe/IDC
        public Truck(string i_LicensePlate, eEngineTypes i_EngineType) :
            base(i_LicensePlate, i_EngineType)
        {
            switch (i_EngineType)
            {
            case eEngineTypes.Fuel:
                SetWheels((int)eRegularTruck.Wheels, (float)eRegularTruck.MaxAirPressure);
                ((Fuel)Engine).FuelType    = (eFuelTypes)eRegularTruck.FuelType;
                ((Fuel)Engine).MaxFuelTank = (float)eRegularTruck.FuelCapacity;
                break;

            default:
                break;
            }
        }
Exemplo n.º 10
0
        public Vehicle(string i_LicensePlate, eEngineTypes i_Engine)
        {
            m_LicensePlate = i_LicensePlate;

            if (i_Engine.Equals(eEngineTypes.Fuel))
            {
                m_Engine            = new Fuel();
                m_Engine.EngineType = eEngineTypes.Fuel;
            }
            else
            {
                m_Engine            = new Electric();
                m_Engine.EngineType = eEngineTypes.Electric;
            }
        }
Exemplo n.º 11
0
 public Vehicle(
     OwnerInfo i_Owner,
     string i_ModelName,
     string i_LicenseNumber,
     float i_MaxEnergyCapacity,
     float i_MaxAirPressure,
     byte i_NumOfWheels,
     eEngineTypes i_EngineType)
 {
     r_LicenseNumber  = i_LicenseNumber;
     r_Model          = i_ModelName;
     r_NumOfWheels    = i_NumOfWheels;
     r_MaxAirPressure = i_MaxAirPressure;
     allocateWheels();
     m_Engine            = new VehicleEngine(i_MaxEnergyCapacity, i_EngineType);
     m_Status            = eVehicleStatus.BeingFixed;
     m_Owner.Name        = i_Owner.Name;
     m_Owner.PhoneNumber = i_Owner.PhoneNumber;
 }
Exemplo n.º 12
0
Arquivo: Car.cs Projeto: itonroe/IDC
        public Car(string i_LicensePlate, eEngineTypes i_EngineType) :
            base(i_LicensePlate, i_EngineType)
        {
            switch (i_EngineType)
            {
            case eEngineTypes.Fuel:
                SetWheels((int)eFuelCar.Wheels, (float)eFuelCar.MaxAirPressure);
                ((Fuel)Engine).FuelType    = (eFuelTypes)eFuelCar.FuelType;
                ((Fuel)Engine).MaxFuelTank = (float)eFuelCar.FuelCapacity;
                break;

            case eEngineTypes.Electric:
                SetWheels((int)eElectricCar.Wheels, (float)eElectricCar.MaxAirPressure);
                ((Electric)Engine).MaxBatteryDuration = (float)eElectricCar.MaxBatteryDuration;
                break;

            default:
                break;
            }
        }
Exemplo n.º 13
0
        private void refuelEngine(eEngineTypes i_EngineType)
        {
            bool   isInputValid = false;
            string licensePlate;
            string userInput;
            float  amountToAdd = 0;

            Console.WriteLine(Messages.s_AskForLicense);
            licensePlate = Console.ReadLine();
            Console.WriteLine(Messages.s_GetAmountToAdd);
            userInput    = Console.ReadLine();
            isInputValid = float.TryParse(userInput, out amountToAdd);
            while (!isInputValid || amountToAdd <= k_Empty)
            {
                Console.WriteLine(Messages.s_NotValidInput);
                userInput    = Console.ReadLine();
                isInputValid = float.TryParse(userInput, out amountToAdd);
            }

            refuelEngineAUX(i_EngineType, licensePlate, amountToAdd);
        }
Exemplo n.º 14
0
        public static Engine CreateEngine(eEngineTypes i_EngineType, float i_EnergyCapacity, eFuelTypes i_FuelType = eFuelTypes.None)
        {
            Engine newEngine = null;

            switch (i_EngineType)
            {
            case eEngineTypes.ElectricVehicle:
            {
                newEngine = createElectricEngine(i_EnergyCapacity);
                break;
            }

            case eEngineTypes.FuelVehicle:
            {
                newEngine = createFuelEngine(i_FuelType, i_EnergyCapacity);
                break;
            }
            }

            return(newEngine);
        }
Exemplo n.º 15
0
        public static Vehicle GetVehicle(string i_VehicleType, string i_EngineType, string i_LicensePlate)
        {
            Vehicle vehicle = null;

            eVehiclesTypes vehicleType = (eVehiclesTypes)Enum.Parse(typeof(eVehiclesTypes), i_VehicleType);
            eEngineTypes   engineType  = (eEngineTypes)Enum.Parse(typeof(eEngineTypes), i_EngineType);

            switch (vehicleType)
            {
            case eVehiclesTypes.Car:
                vehicle = new Car(i_LicensePlate, engineType);
                break;

            case eVehiclesTypes.Motorcycle:
                vehicle = new Motorcycle(i_LicensePlate, engineType);
                break;

            case eVehiclesTypes.Truck:
                vehicle = new Truck(i_LicensePlate, engineType);
                break;
            }

            return(vehicle);
        }
Exemplo n.º 16
0
 public VehicleEngine(float i_MaxEnergyCapacity, eEngineTypes i_EngineType)
 {
     r_MaxEnergyCapacity = i_MaxEnergyCapacity;
     r_Type = i_EngineType;
 }