示例#1
0
 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();
 }
示例#2
0
文件: StartUp.cs 项目: svetlyoek/OOP
        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);
        }
示例#3
0
文件: StartUp.cs 项目: svetlyoek/OOP
        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));
            }
        }
示例#4
0
        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);
        }