Example #1
0
 /// <summary>
 /// this is the car full details
 /// </summary>
 /// <param name="carColor"></param>
 /// <param name="carNumOfDoors"></param>
 /// <param name="vehicleType"></param>
 /// <param name="vehicleModel"></param>
 /// <param name="vehicleLicensePlate"></param>
 /// <param name="ownerName"></param>
 /// <param name="OwnerPhone"></param>
 /// <param name="vehicleState"></param>
 /// <param name="wheelManufacturerName"></param>
 /// <param name="vehicleEngine"></param>
 public Car(E_Color carColor, E_NumOfDoors carNumOfDoors,
            E_VehicleType vehicleType, string vehicleModel, string vehicleLicensePlate,
            string ownerName, string OwnerPhone, E_VehicleStateInGarage vehicleState,
            string wheelManufacturerName, Engine vehicleEngine)
     : base(vehicleType, vehicleModel, vehicleLicensePlate, ownerName, OwnerPhone, vehicleState,
            wheelManufacturerName, vehicleEngine)
 {
     Color       = carColor;
     Doors       = carNumOfDoors;
     NumOfWheels = E_NumOfWheels.Four;
 }
Example #2
0
 /// <summary>
 /// add a new car method
 /// </summary>
 /// <param name="engineType">enum value of engine type</param>
 private static void addNewCar(E_EngineType engineType)
 {
     try
     {
         E_Color      color      = Utils.Parsers.ParseCarColor();
         E_NumOfDoors numOfDoors = Utils.Parsers.ParseNumOfCarDoors();
         float        currentAmount;
         string       vehicleModel;
         string       vehicleLicensePlate;
         string       ownerName;
         string       ownerPhone;
         string       wheelManufacturerName;
         Utils.Parsers.RefBasicVehicleDetails(out currentAmount, out vehicleModel, out vehicleLicensePlate,
                                              out ownerName, out ownerPhone, out wheelManufacturerName);
         GarageLogic.GarageLogic.GarageDirectory.Add(vehicleLicensePlate, VehicleFactory.CreateNewCar
                                                         (currentAmount, engineType, color, numOfDoors, vehicleModel, vehicleLicensePlate, ownerName, ownerPhone, wheelManufacturerName));
     }
     catch (FormatException ex)
     {
         Console.WriteLine(ex.Message + "Can`t parse Car!");
     }
 }
Example #3
0
        /// <summary>
        /// Template for a Car method. (same as car values besides the enum for doors)
        /// </summary>
        public static Car CreateNewCar(float currentAmount, E_EngineType engineType, E_Color color, E_NumOfDoors numOfDoors, string vehicleModel,
                                       string vehicleLicensePlate, string ownerName, string ownerPhone, string wheelManufacturerName)
        {
            Engine engine;

            ///switch statment to choose between two types of engine (Fuel/Electric) or invalid value exception in case of unknown value.
            switch (engineType)
            {
            case E_EngineType.Fuel:
                engine = EngineFactory.CreateNewEngine(E_FuelType.Octan98, 50.0f, currentAmount);
                break;

            case E_EngineType.Electric:
                engine = EngineFactory.CreateNewEngine(2.8f, currentAmount);
                break;

            default:
                throw new ArgumentException("Invalid Type");
            }
            ///create the Car object itself.
            Car car = new Car(color, numOfDoors, E_VehicleType.Car, vehicleModel, vehicleLicensePlate,
                              ownerName, ownerPhone, E_VehicleStateInGarage.InWork, wheelManufacturerName, engine);

            return(car);
        }