Example #1
0
        public static void Main()
        {
            var carCatalogue    = new CarCatalogue();
            var engineCatalogue = new EngineCatalogue();

            int engineCount = int.Parse(Console.ReadLine());

            for (int i = 0; i < engineCount; i++)
            {
                string[] parameters = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                var engineFactory = new EngineFactory(parameters);
                var newEngine     = engineFactory.Create();

                engineCatalogue.Add(newEngine);
            }

            int carCount = int.Parse(Console.ReadLine());

            for (int i = 0; i < carCount; i++)
            {
                string[] parameters = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                var carFactory = new CarFactory(parameters, engineCatalogue);
                var newCar     = carFactory.Create();

                carCatalogue.Add(newCar);
            }

            foreach (var car in carCatalogue.GetAllCars())
            {
                Console.WriteLine(car);
            }
        }
Example #2
0
        private Engine GetEngineFromCatalogue(EngineCatalogue engines, string modelSearched)
        {
            var enginesList = engines.GetAllEngines();

            var engineSearched = enginesList.FirstOrDefault(e => e.Model == modelSearched);

            return(engineSearched);
        }
Example #3
0
 public CarFactory(string[] carProperties, EngineCatalogue enginesCatalogue)
 {
     this.carData = carProperties;
     this.engines = enginesCatalogue;
 }