public CarsCatalog(EngineFactory engineFactory, CargoFactory cargoFactory, TireFactory tireFactory, CarFactory carFactory) { this.Cars = new List <Car>(); this.engineFactory = engineFactory; this.cargoFactory = cargoFactory; this.tireFactory = tireFactory; this.carFactory = carFactory; this.dataWrite = new ConsoleWriter(); }
static void Main(string[] args) { int lines = int.Parse(Console.ReadLine()); var carFactory = new CarFactory(); for (int i = 0; i < lines; i++) { string[] carInfo = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); carFactory.Add(carInfo); } string command = Console.ReadLine(); PrintOutput(command, carFactory); }
private static void PrintOutput(string command, CarFactory carFactory) { if (command == "fragile") { List <string> fragile = carFactory.GetCar() .Where(x => x.Cargo.Type == "fragile" && x.Tires.Any(y => y.Pressure < 1)) .Select(x => x.Model) .ToList(); Console.WriteLine(string.Join(Environment.NewLine, fragile)); } else if (command == "flamable") { List <string> flamable = carFactory.GetCar() .Where(x => x.Cargo.Type == "flamable" && x.Engine.Power > 250) .Select(x => x.Model) .ToList(); Console.WriteLine(string.Join(Environment.NewLine, flamable)); } }
public static void Run() { EngineFactory engineFactory = new EngineFactory(); CargoFactory cargoFactory = new CargoFactory(); TireFactory tireFactory = new TireFactory(); CarFactory carFactory = new CarFactory(); ConsoleReader consoleReader = new ConsoleReader(); CarsCatalog cars = new CarsCatalog(engineFactory, cargoFactory, tireFactory, carFactory); int lines = int.Parse(consoleReader.Read()); for (int i = 0; i < lines; i++) { string[] parameters = consoleReader.Read() .Split(" ", StringSplitOptions.RemoveEmptyEntries); cars.Add(parameters); } string command = consoleReader.Read(); cars.GetCarsInfo(command); }