public override CarType GetCarType(CarManufactures manufacturer, CarModels model) { switch (manufacturer) { case CarManufactures.Ford: return(new Ford("Ford", model)); case CarManufactures.Suzuki: return(new Suzuki("Suzuki", model)); case CarManufactures.Nissan: return(new Nissan("Renault Nissan", model)); case CarManufactures.Swift: return(new Swift("Swift", model)); case CarManufactures.Volkswagen: return(new Volkswagen("Volkswagen", model)); default: return(new Toyota("Toyata", model)); } }
public void CreateCar(CarManufactures manufacture, string color, string[] features, CarModels model) { Car newCar = null; CarType carType = null; TypeFactory typeFactory = new TypeFactory(); carType = typeFactory.GetCarType(manufacture, model); switch (manufacture) { case CarManufactures.Suzuki: newCar = new Car(carType, color, 100000); newCar.AddFeatures(features, manufacture); break; case CarManufactures.Ford: newCar = new Car(carType, color, 250000); newCar.AddFeatures(features, manufacture); break; case CarManufactures.Swift: newCar = new Car(carType, color, 90000); newCar.AddFeatures(features, manufacture); break; case CarManufactures.Nissan: newCar = new Car(carType, color, 350000); newCar.AddFeatures(features, manufacture); break; case CarManufactures.Toyota: newCar = new Car(carType, color, 200000); newCar.AddFeatures(features, manufacture); break; case CarManufactures.Volkswagen: newCar = new Car(carType, color, 400000); newCar.AddFeatures(features, manufacture); break; } Console.WriteLine("Car was created:\n \nManufacturer:\t" + newCar.carType.Name + "\nModel:\t" + newCar.carType.Model + "\n Color:\t" + newCar.Color + "\nPrice of car:\t" + newCar.Price + "\n Total Price(with features):\t" + newCar.totalCost); }
public void AddFeatures(string[] features, CarManufactures manufacturer) { int size = features.Length; FeatureFactory _featureFactory = new FeatureFactory(); foreach (string _featureName in features) { switch (_featureName) { case "AIRBAG": Feature _airBagObg = _featureFactory.GetFeature(Features.AirBag, "Air Bag", 8, 5000, "side airbag"); this._features.Add(_airBagObg); this.totalCost += 5000; break; case "FUEL INJECTION": if (manufacturer == CarManufactures.Suzuki) { this._features.Add(FuelInjection.DirectInjection); this.totalCost += FuelInjection.DirectInjection.Cost; } else if (manufacturer == CarManufactures.Volkswagen) { this._features.Add(FuelInjection.MultiPointInjection); this.totalCost += FuelInjection.MultiPointInjection.Cost; } else { Feature _fuelInjection = _featureFactory.GetFeature(Features.FuelInjection, "Fuel Injection", 6, 2000, null); this._features.Add(_fuelInjection); this.totalCost += 2000; } break; case "CRUISE CONTROL": Feature _cruiseControl = _featureFactory.GetFeature(Features.CruiseControl, "Cruise Control", 7, 5500, null); this.totalCost += 5500; break; } } }
public abstract CarType GetCarType(CarManufactures manufacturer, CarModels model);
public override CarType GetCarType(CarManufactures manufacturer, CarModels model) { return(null); }