Esempio n. 1
0
        public static Vehicle createNewVehicle(eVehicleTypes i_VehicleType)
        {
            if (i_VehicleType.Equals(eVehicleTypes.regularCar))
            {
                return newRegularCar();
            }
            if (i_VehicleType.Equals(eVehicleTypes.regularMotorCycle))
            {
                return newRegularMotorcycle();
            }
            if (i_VehicleType.Equals(eVehicleTypes.regularVan))
            {
                return newRegularVan();
            }
            if (i_VehicleType.Equals(eVehicleTypes.electricCar))
            {
                return newElectricCar();
            }
            if (i_VehicleType.Equals(eVehicleTypes.electricMotorcycle))
            {
                return newElectricMotorcycle();
            }

            return null;
        }
Esempio n. 2
0
 public HoldAddGarageVehicleParams(string i_Name, string i_Phone, string i_Model, string i_Plate, HoldWheelParams i_Wheel, HoldEngineParams i_Engine, Garage.eVehicleStatus i_Status, eVehicleTypes i_Type)
 {
     r_ClientName   = i_Name;
     r_PhoneNumber  = i_Phone;
     r_VehicleType  = i_Type;
     r_VehicleModel = i_Model;
     r_LicencePlate = i_Plate;
     r_Wheels       = i_Wheel;
     r_Engine       = i_Engine;
 }
Esempio n. 3
0
        public static Vehicle Create(int i_IntVehicleType, string i_NameOfModel, string i_LicenseNumber)
        {
            Vehicle newVehicle = null;

            if (Enum.IsDefined(typeof(eVehicleTypes), i_IntVehicleType))
            {
                eVehicleTypes vehicleType = (eVehicleTypes)i_IntVehicleType;
                switch (vehicleType)
                {
                case eVehicleTypes.FuelMotorCycle:
                {
                    newVehicle = new MotorCycle(Engine.eFuelType.Octan95, k_MaxEnergyCapacityFuelMotorCycle);
                    break;
                }

                case eVehicleTypes.ElectricMotorCycle:
                {
                    newVehicle = new MotorCycle(Engine.eFuelType.Electricity, k_MaxEnergyCapacityElectricMotorCycle);
                    break;
                }

                case eVehicleTypes.FuelCar:
                {
                    newVehicle = new Car(Engine.eFuelType.Octan96, k_MaxEnergyCapacityFuelCar);
                    break;
                }

                case eVehicleTypes.ElectricCar:
                {
                    newVehicle = new Car(Engine.eFuelType.Electricity, k_MaxEnergyCapacityElectricCar);
                    break;
                }

                case eVehicleTypes.FuelTruck:
                {
                    newVehicle = new Truck(Engine.eFuelType.Soler, k_MaxEnergyCapacityFuelTruck);
                    break;
                }
                }

                newVehicle.LicenseNumber = i_LicenseNumber;
                newVehicle.NameOfModel   = i_NameOfModel;
            }
            else
            {
                throw new FormatException(k_NoSuchAnOption);
            }

            return(newVehicle);
        }
Esempio n. 4
0
        public bool AddVehicleToGarage(string i_OwnerName, string i_OwnerPhone, eVehicleTypes i_Identifier, List <object> i_ParametersToCreateVehicle, Wheel[] i_Wheels)
        {
            bool    vehicleAlreadyInGarage = false;
            Owner   vehicleOwner           = new Owner(i_OwnerName, i_OwnerPhone);
            Vehicle vehicleToAdd           = VehicleFactory.Create(i_Identifier, i_ParametersToCreateVehicle, i_Wheels);

            if (m_VehiclesInGarage.ContainsKey(vehicleToAdd.LicenseNumber))
            {
                m_VehiclesInGarage[vehicleToAdd.LicenseNumber].VehicleState = eVehicleConditions.InRepair;
                vehicleAlreadyInGarage = true;
            }
            else
            {
                m_VehiclesInGarage.Add(vehicleToAdd.LicenseNumber, new VehicleInGarage(vehicleToAdd, vehicleOwner));
            }

            return(vehicleAlreadyInGarage);
        }
Esempio n. 5
0
 public VehiclePreset(
     int i_PresetNumber,
     string i_PresetDescription,
     eVehicleTypes i_VehicleType,
     int i_NumberOfWheels,
     float i_WheelsMaxPressure,
     eEngineType i_EngineType,
     eFuelType?i_FuelType,
     float i_EngineMaxEnergy
     )
 {
     m_PresetNumber      = i_PresetNumber;
     m_PresetDescription = i_PresetDescription;
     m_VehicleType       = i_VehicleType;
     m_EngineType        = i_EngineType;
     m_FuelType          = i_FuelType;
     m_EngineMaxEnergy   = i_EngineMaxEnergy;
     m_NumberOfWheels    = i_NumberOfWheels;
     m_WheelsMaxPressure = i_WheelsMaxPressure;
 }
Esempio n. 6
0
        private static Vehicle newVehicle(Garage i_Garage)
        {
            Vehicle       newVehicle  = null;
            eVehicleTypes vehicleType = ChooseVehicle();
            string        userInput;
            bool          checkInput = true;
            Dictionary <string, string> properites = VehicleSetup.BuiltPropertiesList(vehicleType);

            Printer.PrintSystemFormat("\n{0} Details:\n", vehicleType);
            foreach (KeyValuePair <string, string> str in properites)
            {
                while (checkInput)
                {
                    Printer.PrintMessage(str.Key + ": ");
                    userInput = Console.ReadLine();
                    try
                    {
                        if (VehicleSetup.CheckProperty(i_Garage, userInput, str.Key, str.Value))
                        {
                            m_SetProperites.Add(str.Key, userInput);
                            checkInput = false;
                        }
                    }

                    catch (FormatException fx)
                    {
                        Printer.PrintError(fx.Message + "\n");
                    }
                    catch (ArgumentException ae)
                    {
                        Printer.PrintError(ae.Message + "\n");
                    }
                }

                checkInput = true;
            }

            newVehicle = VehicleSetup.CreateNewVehicle(i_Garage, vehicleType, m_SetProperites);

            return(newVehicle);
        }
Esempio n. 7
0
        private Vehicle setGeneralInfo(eVehicleTypes i_VehicleType)
        {
            Console.Clear();
            Vehicle newVehicleToCreat = null;
            bool    isExist;
            bool    isLicenseQuestion = true;
            string  ModelName, LicensePlate;

            isExist = getGeneralAnswers(Messages.s_AskForLicense, out LicensePlate, isLicenseQuestion);
            if (!isExist)
            {
                isLicenseQuestion = false;
                getGeneralAnswers(Messages.s_AskForModel, out ModelName, isLicenseQuestion);
                Console.Clear();
                newVehicleToCreat = m_VehicleCreator.CreatVehicle(i_VehicleType, ModelName, LicensePlate);
                setWheelsInfo(newVehicleToCreat);
            }

            Console.Clear();
            return(newVehicleToCreat);
        }
        public Vehicle CreatVehicle(eVehicleTypes i_TypeOfVehicle, string i_ModelName, string i_LicencePlate)
        {
            Vehicle vehicleToCreat = null;

            switch (i_TypeOfVehicle)
            {
            case eVehicleTypes.Car:
                vehicleToCreat = new Car(i_ModelName, i_LicencePlate);
                break;

            case eVehicleTypes.Motorcycle:
                vehicleToCreat = new Motorcycle(i_ModelName, i_LicencePlate);
                break;

            case eVehicleTypes.Truck:
                vehicleToCreat = new Truck(i_ModelName, i_LicencePlate);
                break;
            }

            return(vehicleToCreat);
        }
        public static Vehicle MakeVehicle(eVehicleTypes i_VehicleType)
        {
            Vehicle Vehicle;

            switch (i_VehicleType)
            {
            case eVehicleTypes.FuelCar:
                Vehicle = new Car();
                Vehicle.VehicleEnergy.EnergyType          = VehicleEnergy.eEnergyType.Octan98.ToString();
                Vehicle.VehicleEnergy.MaximalEnergyAmount = 45f;
                break;

            case eVehicleTypes.ElectricCar:
                Vehicle = new Car();
                Vehicle.VehicleEnergy.EnergyType          = VehicleEnergy.eEnergyType.Electricity.ToString();
                Vehicle.VehicleEnergy.MaximalEnergyAmount = 3.2f;
                break;

            case eVehicleTypes.FuelMotorcycle:
                Vehicle = new Motorcycle();
                Vehicle.VehicleEnergy.EnergyType          = VehicleEnergy.eEnergyType.Octan96.ToString();
                Vehicle.VehicleEnergy.MaximalEnergyAmount = 6f;
                break;

            case eVehicleTypes.ElectricMotorcycle:
                Vehicle = new Motorcycle();
                Vehicle.VehicleEnergy.EnergyType          = VehicleEnergy.eEnergyType.Electricity.ToString();
                Vehicle.VehicleEnergy.MaximalEnergyAmount = 1.8f;
                break;

            case eVehicleTypes.FuelTruck:
                Vehicle = new FuelTruck();
                break;

            default:
                throw new System.Exception("The vehicle's type is not supported.");
            }

            return(Vehicle);
        }
Esempio n. 10
0
        private static void addVehicleToGarage()
        {
            eVehicleTypes vehicleType = getVehicleTypeFromUser();

            GarageFunctionalityManager.AddVehicleToTheGarage(vehicleType);
        }
Esempio n. 11
0
        public static Vehicle CreateNewVehicle(Garage i_Garage, eVehicleTypes vehicleType, Dictionary <string, string> i_Properties)
        {
            Vehicle      i_Vehicle;
            bool         creationSuccess = false;
            string       modelName = "", licensePlate = "", manufacture = "";
            float        engineCapacity = 0, loadVolume = 0;
            bool         isCarryingDangerousLoad = false;
            eCarDoors    door        = eCarDoors.Five;
            eColor       color       = eColor.Black;
            eLicenseType licenseType = eLicenseType.A;

            foreach (KeyValuePair <string, string> pairs in i_Properties)
            {
                switch (pairs.Key)
                {
                case "Model Name":
                    modelName = pairs.Value;
                    break;

                case "License Plate":
                    licensePlate = pairs.Value;
                    break;

                case "Manufacture":
                    manufacture = pairs.Value;
                    break;

                case "Car Color":
                    eColor.TryParse(pairs.Value, out color);
                    break;

                case "Number of Doors":
                    eCarDoors.TryParse(pairs.Value, out door);
                    break;

                case "Engine Capacity CCS":
                    engineCapacity = float.Parse(pairs.Value);
                    break;

                case "License Type":
                    eLicenseType.TryParse(pairs.Value, out licenseType);
                    break;

                case "Is carrying dangerous load":
                    isCarryingDangerousLoad = bool.Parse(pairs.Value);
                    break;

                case "Load Volume":
                    loadVolume = float.Parse(pairs.Value);
                    break;
                }
            }

            switch (vehicleType)
            {
            case eVehicleTypes.ElectronicCar:
                i_Vehicle = new ElectricCar(modelName, licensePlate, color, door, manufacture);
                //ElectricCar.TryParse(i_Properties, out newVehicle);
                break;

            case eVehicleTypes.ElectronicMotorCycle:
                i_Vehicle = new ElectricMotorCycle(modelName, licensePlate, engineCapacity, eLicenseType.A1, manufacture);
                break;

            case eVehicleTypes.FuelCar:
                i_Vehicle = new FuelCar(modelName, licensePlate, color, door, manufacture);
                //FuelCar.TryParse(i_Properties, out newVehicle);
                break;

            case eVehicleTypes.FuelMotorCycle:
                i_Vehicle = new FuelMotorCycle(modelName, licensePlate, engineCapacity, licenseType, manufacture);
                break;

            case eVehicleTypes.Truck:
                i_Vehicle = new Truck(modelName, licensePlate, manufacture, isCarryingDangerousLoad, loadVolume);
                break;

            default:
                i_Vehicle = null;
                break;
            }
            return(i_Vehicle);
        }