internal static void GetInfo(out Dictionary <eQuestions, object> io_DicToFill, int i_Choice) { //// Gets vehicle choice out of supported vehicles and a dictionary. //// Flll the dictionary keys with all the eQusetions (Enum) needed for this vehicle choice. io_DicToFill = new Dictionary <eQuestions, object>(); if (i_Choice > 0 && i_Choice <= ArrOfSupportedVehicles.Length) { eSupportVehicles currentVehicle = (eSupportVehicles)i_Choice; io_DicToFill.Add(eQuestions.WheelManufacturer, string.Empty); io_DicToFill.Add(eQuestions.CurentWheelAirPressure, string.Empty); io_DicToFill.Add(eQuestions.ModelName, string.Empty); if (currentVehicle.Equals(eSupportVehicles.ElectricMotorcycle) || currentVehicle.Equals(eSupportVehicles.ElectricCar)) { // Hours left in elecrtic engine io_DicToFill.Add(eQuestions.CurrentHours, string.Empty); } else { // Fuel left io_DicToFill.Add(eQuestions.CurrentFuel, string.Empty); } if (currentVehicle.Equals(eSupportVehicles.RegularMotorcycle) || currentVehicle.Equals(eSupportVehicles.ElectricMotorcycle)) { // Case of motorcycle io_DicToFill.Add(eQuestions.LicenseType, string.Empty); io_DicToFill.Add(eQuestions.EngineCC, string.Empty); } if (currentVehicle.Equals(eSupportVehicles.ElectricCar) || currentVehicle.Equals(eSupportVehicles.RegularCar)) { // Case of car io_DicToFill.Add(eQuestions.Color, string.Empty); io_DicToFill.Add(eQuestions.Doors, string.Empty); } if (currentVehicle.Equals(eSupportVehicles.Truck)) { // Case of truck io_DicToFill.Add(eQuestions.HazardousMaterials, false); io_DicToFill.Add(eQuestions.CargoCpacity, string.Empty); } } }
internal static Vehicle CreateVehicle(eSupportVehicles i_VehiclesChoice, string io_LicenseNumber) { //// Gets license number of vehicle and choice of vehicle type out of supported vehicles. //// Create and return new vehicle according to supported vehicles fixed criterias. Vehicle newVehicle = null; switch (i_VehiclesChoice) { case eSupportVehicles.ElectricMotorcycle: { newVehicle = createElectricMotorcycle(io_LicenseNumber); break; } case eSupportVehicles.ElectricCar: { newVehicle = createElectricCar(io_LicenseNumber); break; } case eSupportVehicles.Truck: { newVehicle = createTruck(io_LicenseNumber); break; } case eSupportVehicles.RegularMotorcycle: { newVehicle = createRrgularMotorcycle(io_LicenseNumber); break; } case eSupportVehicles.RegularCar: { newVehicle = createRrgularCar(io_LicenseNumber); break; } } return(newVehicle); }