Beispiel #1
0
        private static void addNewCarToFix()
        {
            bool    licenceExist;
            string  modelName;
            string  licenceNumber;
            float   currentEnergyInPercent = -1;
            string  wheelsVendorName;
            float   currentAirPressure;
            Vehicle newVehicle;

            Engine.eEnergyType       energyType = Engine.eEnergyType.Fuel;
            Car.eColorOfCar          colorOfCar;
            Car.eNumOfDoors          numOfDoors;
            Motorcycle.eLicenceTypes licenceType;
            int    engineCapacity;
            bool   isDriveingDangerousThings;
            float  volumeOfCargo;
            string ownerName;
            string ownerPhoneNumber;
            int    vehicleType = 0;
            int    userChoice  = 0;

            Console.WriteLine(
                @"Please choose vehicle type:
1. Car
2. Motorcycle
3. Truck");
            vehicleType = inputBetweenRange(1, 3);

            if (userChoice == 1 || userChoice == 2)
            {
                Console.WriteLine(@"Please enter vehicle energy type:
1. Fuel
2. Electricity");
                userChoice = inputBetweenRange(1, 2);
                switch (userChoice)
                {
                case 1:
                    energyType = Engine.eEnergyType.Fuel;
                    break;

                case 2:
                    energyType = Engine.eEnergyType.Electricity;
                    break;
                }
            }

            Console.Clear();
            Console.Write("Please enter vehicle model name: ");
            modelName = checkEmptyInput();
            Console.Write("Please enter vehicle licence number with 7/8 digits: ");
            licenceNumber = checkLicenceNumber();
            licenceExist  = m_Garage.isLicenceExist(licenceNumber);
            if (licenceExist == true)
            {
                Console.WriteLine("This licence number is already exists in the garage, his status became InFix.");
            }
            else
            {
                Console.Write("Please enter current energy in percent: ");
                currentEnergyInPercent = checkFloatParsing();
                while (currentEnergyInPercent < 0 || currentEnergyInPercent > 100)
                {
                    Console.WriteLine("Invalid input, the input must be between 0 to 100");
                    currentEnergyInPercent = checkFloatParsing();
                }

                Console.Write("Please enter wheels vendor name: ");
                wheelsVendorName = checkEmptyInput();
                Console.Write("Please enter current air pressure in the wheels: ");
                currentAirPressure = checkFloatParsing();
                try
                {
                    newVehicle = VehicleGenerator.VehicleCreator(modelName, licenceNumber, vehicleType, energyType, wheelsVendorName, currentEnergyInPercent, currentAirPressure);
                    Console.Clear();
                    if (newVehicle is Car)
                    {
                        inputCarDetails(out colorOfCar, out numOfDoors);
                        newVehicle.ChangeSpecificDetails(colorOfCar, numOfDoors);
                    }
                    else if (newVehicle is Motorcycle)
                    {
                        inputMotorcycleDetails(out licenceType, out engineCapacity);
                        newVehicle.ChangeSpecificDetails(licenceType, engineCapacity);
                    }
                    else if (newVehicle is Truck)
                    {
                        inputTruckDetails(out isDriveingDangerousThings, out volumeOfCargo);
                        newVehicle.ChangeSpecificDetails(isDriveingDangerousThings, volumeOfCargo);
                    }

                    Console.Clear();
                    Console.Write("Please enter your first name: ");
                    ownerName = Console.ReadLine();
                    while (checkOwnerNameInput(ownerName) != true)
                    {
                        Console.WriteLine("Wrong input, Please enter only letters.");
                        ownerName = Console.ReadLine();
                    }

                    Console.WriteLine("Please enter your phone number in format of 10 digits:");
                    ownerPhoneNumber = Console.ReadLine();
                    while (checkOwnerPhoneNumberInput(ownerPhoneNumber) != true)
                    {
                        Console.WriteLine("Wrong input, Please enter only numbers with 10 digits.");
                        ownerPhoneNumber = Console.ReadLine();
                    }

                    m_Garage.AddNewCarToFix(newVehicle, ownerName, ownerPhoneNumber);
                }
                catch (ValueOutOfRangeException i_ValueOutOfRangeException)
                {
                    Console.WriteLine(i_ValueOutOfRangeException.Message);
                }
            }
        }