//функция отвечает за создание транспортных средств конкретным объектом класса-фабрики
        static void Create(IVehicleCreator creator)
        {
            bool cycle = true;  //организует вложенный цикл меню

            while (cycle)
            {
                Console.WriteLine("Введите скорость (целое положительное число):");
                string speedString = Console.ReadLine();
                int    speed;

                if ((int.TryParse(speedString, out speed)) && speed >= 0)
                {
                    Console.WriteLine("Введите грузоподъёмность (целое положительное число):");
                    string loadCapacityString = Console.ReadLine();
                    int    loadCapacity;
                    if ((int.TryParse(loadCapacityString, out loadCapacity)) && loadCapacity >= 0)
                    {
                        IVehicle vehicle = creator.Create(speed, loadCapacity); //вызов фабричного метода

                        vehicle.GetFullInfo();
                        Console.WriteLine("\n");
                        vehicle.DeliverGoods();
                        Console.WriteLine("\n");

                        cycle = false;
                    }
                    else
                    {
                        Console.WriteLine("Грузоподъёмность должна быть целым положительным числом");
                    }
                }
                else
                {
                    Console.WriteLine("Скорость должна быть целым положительным числом");
                }
                Console.WriteLine("\n");
            }
        }
Esempio n. 2
0
 public APIControllerTests()
 {
     _service    = new VehicleCreatorFakeService();
     _controller = new VehicleCreatorController(_service, _logger, _mapper);
 }
Esempio n. 3
0
 public VehicleCreatorController(IVehicleCreator service, ILogger <VehicleCreatorController> logger, IMapper mapper)
 {
     _service = service;
     _logger  = logger;
     _mapper  = mapper;
 }