Beispiel #1
0
        private void AddNewCar()
        {
            Console.Clear();
            Console.WriteLine("What is the make of the Car?");
            string make = Console.ReadLine();

            Console.WriteLine("What is the model of the Car?");
            string model = Console.ReadLine();

            Console.WriteLine("Is this Car \n  Gas \n  Hybrid \n  Electric");
            string type = Console.ReadLine();

            Console.WriteLine("What is the Year of the Car?");
            string year = Console.ReadLine();

            Console.WriteLine("What is the avg MPG for the car?");
            int mpg = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Please Assign an ID number to this Car");
            int     ID = Convert.ToInt32(Console.ReadLine());
            carType gasType;

            switch (type)
            {
            case "Gas":
                gasType = carType.Gas;
                break;

            case "gas":
                gasType = carType.Gas;
                break;

            case "Hybrid":
                gasType = carType.Hybrid;
                break;

            case "hybrid":
                gasType = carType.Hybrid;
                break;

            case "Electric":
                gasType = carType.Electric;
                break;

            case "electric":
                gasType = carType.Electric;
                break;

            default:
                gasType = carType.Undifined;
                break;
            }

            CarClass newCar = new CarClass(gasType, make, model, year, mpg, ID);

            carRepo.AddCarToList(newCar);
            Console.Clear();
            InitialPrompt();
        }
        /******** Menu Methods ******************************
        ****************************************************/

        private void CreateCar()
        {
            Car newCar = new Car
            {
                Type       = GetCarType(),
                Model      = GetModel(),
                Price      = GetPrice(),
                GasMileage = GetGasMileage()
            };

            _carRepo.AddCarToList(newCar);
        }
        public void Run()
        {
            CarRepository carRepo = new CarRepository();
            var           cars    = carRepo.GetCarList();

            carRepo.AddCarToList(carRepo.CreateCar("Ford", "Explorer", CarType.Gas, 17));
            carRepo.AddCarToList(carRepo.CreateCar("Tesla", "Model S", CarType.Electric, 54));
            carRepo.AddCarToList(carRepo.CreateCar("Dodge", "Charger", CarType.Hybrid, 25));

            Console.WriteLine("Welcome to Komodo!");
            bool running = true;

            while (running)
            {
                Console.WriteLine("What would you like to do?\n\t" +
                                  "1. See all cars\n\t" +
                                  "2. Add new car\n\t" +
                                  "3. Remove car\n\t" +
                                  "4. Update car\n\t" +
                                  "5. Exit");
                int response = int.Parse(Console.ReadLine());
                switch (response)
                {
                case 1:
                    PrintCars();
                    break;

                case 2:
                    Console.Write("Enter the make of the car: ");
                    var make = Console.ReadLine();
                    Console.Write("Enter the model of the car: ");
                    var model = Console.ReadLine();
                    Console.WriteLine("Select a fuel type: \n\t" +
                                      "1. Gas\n\t" +
                                      "2. Hybrid\n\t" +
                                      "3. Electric");
                    var fuelInput = int.Parse(Console.ReadLine());
                    var type      = carRepo.GetFuelType(fuelInput);
                    Console.Write("Enter the miles per fuel unit: ");
                    var milesPer = int.Parse(Console.ReadLine());
                    var car      = carRepo.CreateCar(make, model, type, milesPer);
                    carRepo.AddCarToList(car);
                    break;

                case 3:
                    Console.WriteLine("Would you like to remove a car?");
                    var removeResp = Console.ReadLine();
                    carRepo.YesNoResponse(removeResp);
                    Console.WriteLine("Enter the number of the car you'd like to remove: ");

                    var carRemove = PrintCars();
                    var remove    = cars[carRemove - 1];
                    carRepo.RemoveCar(remove);
                    break;

                case 4:
                    Console.WriteLine("Enter the number for the car you'd like to edit: ");
                    var updateInput = PrintCars();
                    var updateCar   = cars[updateInput - 1];
                    Console.WriteLine("Would you like to update the model? y/n");
                    var resp = Console.ReadLine();
                    if (carRepo.YesNoResponse(resp))
                    {
                        Console.WriteLine("Enter new model: ");
                        updateCar.CarModel = Console.ReadLine();
                    }
                    Console.WriteLine("Would you like to update the make? y/n");
                    resp = Console.ReadLine();
                    if (carRepo.YesNoResponse(resp))
                    {
                        Console.WriteLine("Enter new make: ");
                        updateCar.CarMake = Console.ReadLine();
                    }
                    Console.WriteLine("Would you like to update the fuel type? y/n");
                    resp = Console.ReadLine();
                    if (carRepo.YesNoResponse(resp))
                    {
                        Console.WriteLine("Select a fuel type: \n\t" +
                                          "1. Gas\n\t" +
                                          "2. Hybrid\n\t" +
                                          "3. Electric");
                        var fueltypeUpdate = int.Parse(Console.ReadLine());
                        updateCar.FuelType = carRepo.GetFuelType(fueltypeUpdate);
                    }
                    Console.WriteLine("Would you like to update the miles per fuel unit? y/n");
                    resp = Console.ReadLine();
                    if (carRepo.YesNoResponse(resp))
                    {
                        Console.WriteLine("Enter new miles per unit: ");
                        updateCar.MilesPer = int.Parse(Console.ReadLine());
                    }
                    break;

                default:
                    break;
                }
            }

            int PrintCars()
            {
                Console.WriteLine("Car Make \tModel \t Fuel Type \t Miles Per Fuel Unit");
                int i = 1;

                foreach (Car c in cars)
                {
                    Console.WriteLine($"{i}. {c.CarMake} \t{c.CarModel} \t{c.FuelType} \t{c.MilesPer}");
                    i++;
                }
                var menuChoice = int.Parse(Console.ReadLine());

                return(menuChoice);
            }
        }