示例#1
0
        public void RechargeMenu()//6
        {
            Console.WriteLine("To Recharge vehicle:");
            Console.WriteLine("Enter License plate:");
            string License_plate = GetFromUserLicensePlate();

            if (License_plate != null && GarageManage.EngineChecker(License_plate) == 1)
            {
                Console.WriteLine("Success Vehicle Found & ready to be charged !");
                Console.WriteLine("Current amount of energy is: {0}", GarageManage.GetCurrentAmountOfEnergy(License_plate));

                Console.WriteLine("Enter Amount of minutes you want to charge:");
                float Amount_of_minutes_to_charge = float.Parse(Console.ReadLine());

                if (GarageManage.ReChargeVehicle(License_plate, Amount_of_minutes_to_charge))
                {
                    Console.WriteLine("Success Vehicle Recharged!");
                    Console.WriteLine("Amount of hours left to work after Recharge:{0}", GarageManage.GetCurrentAmountOfEnergy(License_plate));
                }
                else
                {
                    WrongAmountInput();
                    BackToMain();
                }
            }
            else
            {
                Console.WriteLine("There is no such car /or car isnt Electric type.");
                BackToMain();
            }
        }
示例#2
0
        public void RefuelMenu()//5
        {
            Console.WriteLine("To Refuel vehicle:");
            Console.WriteLine("Enter License plate:");
            string License_plate = GetFromUserLicensePlate();

            if (License_plate != null && GarageManage.EngineChecker(License_plate) == 2)
            {
                Console.WriteLine("Success Vehicle Found and ready to be fueled !");
                Console.WriteLine("Current amount of fuel is:{0}", GarageManage.GetCurrentAmountOfFuel(License_plate));
                GasType type = GetFromUserGasType();

                Console.WriteLine("Enter Amount of fuel you want to fuel:");
                float Amount_to_fuel = float.Parse(Console.ReadLine());

                if (GarageManage.RefuelVehicle(License_plate, type, Amount_to_fuel))
                {
                    Console.WriteLine("Amount of fuel after refuel: {0}", GarageManage.GetCurrentAmountOfFuel(License_plate));
                    Console.WriteLine("Success Vehicle Refueled!");
                }
                else
                {
                    Console.WriteLine("Fuel problem, (Check your fuel type)/(Check your amount of fuel)");
                    BackToMain();
                }
            }
            else
            {
                Console.WriteLine("There is no such car /or car isnt Fuel type.");
                BackToMain();
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            GarageManage.TestObject();
            Menu menu = new Menu();

            menu.GarageMenu();

            Console.ReadKey();
        }
示例#4
0
        public void ListOfVehiclesMenu()  //2
        {
            int i = 0;

            Console.WriteLine("Sort list of vehicles by:");
            Console.WriteLine("Under Maintance[1]");
            Console.WriteLine("Repaired[2]");
            Console.WriteLine("Paid[3]");
            Console.WriteLine("No sort[4]");
            foreach (var item in GarageManage.GetGarageList(GetFromUserSelection()))
            {
                i++;
                Console.WriteLine("{0}. Plate number: {1} ,Status: {2}", i, item.GetLicensePlate(), item.GetState());
            }
        }
示例#5
0
        public void PresentFullInfoMenu()//7
        {
            Console.WriteLine("To present full info of vehicle:");
            Console.WriteLine("Enter license plate:");
            string License_plate = GarageManage.CheckVehicleInGarage(GetFromUserLicensePlate());

            if (License_plate != null)
            {
                //get all info functions
                var vehicle = GarageManage.TargetVehicleInfo(License_plate);
                InformationSorter(vehicle);
            }
            else
            {
                Console.WriteLine("There is no such car.");
                BackToMain();
            }
        }
示例#6
0
        ///Functions that present menu of each option in menu.

        public void NewVehicleMenu()  //1
        {
            Console.WriteLine("To enter new car to garage:");
            Console.WriteLine("Enter license plate to check:");
            string License_plate = GetFromUserLicensePlate();

            if (GarageManage.CheckVehicleInGarage(License_plate) == null)
            {
                Console.WriteLine("You can enter the car to the garage!");
                Console.WriteLine("Enter Details:");
                GarageManage.AddVehicleToGarage(GetVehicleDetails(License_plate));
                Console.WriteLine("Success, Vehicle added to Garage!");
            }

            else
            {
                Console.WriteLine("there is already vehicle with that license number");
            }
        }
示例#7
0
        public void StateOfCarMenu()  //3
        {
            Console.WriteLine("To change state of car:");
            Console.WriteLine("Enter License plate:");
            string License_plate = GarageManage.CheckVehicleInGarage(GetFromUserLicensePlate());
            int    status_selected;

            if (License_plate != null)
            {
                Console.WriteLine("Vehicle Found!");
                Console.WriteLine("To what status you want to change it ?");
                Console.WriteLine("Under Maintance[1]");
                Console.WriteLine("Repaired[2]");
                Console.WriteLine("Paid[3]");
                status_selected = int.Parse(Console.ReadLine());
                GarageManage.ChangeVehicleStatus(License_plate, status_selected);
                Console.WriteLine("Success, Status changed!");
            }
            else
            {
                Console.WriteLine("There is no such plate number in list.");
            }
        }
示例#8
0
        public void InflateTiresMenu() //4
        {
            Console.WriteLine("To inflate tires:");
            Console.WriteLine("Enter License plate:");
            string License_plate = GarageManage.CheckVehicleInGarage(GetFromUserLicensePlate());

            if (License_plate != null)
            {
                Console.WriteLine("Success, Vehicle Found!");
                if (GarageManage.InflateTires(License_plate))
                {
                    Console.WriteLine("Success, Tires Inflated!");
                }
                else
                {
                    Console.WriteLine("Tires are Full already!");
                }
            }
            else
            {
                Console.WriteLine("There is no such car , please search again.");
                BackToMain();
            }
        }
示例#9
0
        //Vehicle Creator ->Contacts factory ->Creates Vehicle->Adds it to GarageList.
        public Vehicle GetVehicleDetails(string License_plate)
        {
            float          amountOfEnergy     = 0;
            GasType        Gas_type           = 0;
            float          amountOfGas        = 0;
            Color          color              = 0;
            AmountCarDoors amount             = 0;
            bool           isCarringDangerous = true;
            float          MaximumCarryWeight = 0;
            int            typeOfTires        = 0;
            LicenseType    type           = 0;
            int            EngineCapacity = 0;
            string         model;

            Console.WriteLine("Enter owners name:");
            string owner_name = GetFromUserName();

            Console.WriteLine("Enter owners phone:");
            string owner_phone = GetFromUserPhone();

            Vehicle.VehicleType Vehicle_type = GetFromUserVehicleType();
            model = GetFromUserModel();

            //Acumilating details depends on the engine type selected.
            Engine Engine_type = GetFromUserEngineType();

            if (Engine_type == (Engine)2)//fuel info
            {
                Gas_type    = GetFromUserGasType();
                amountOfGas = GetCurrentAmountOfGas();
            }
            if (Engine_type == (Engine)1)//electric info
            {
                amountOfEnergy = GetCurrentAmountOfEnergy();
            }

            //Acumilating details depending on the vehicle type selected
            if (Vehicle_type == (Vehicle.VehicleType) 1) //car
            {
                color       = GetCarColorFromUser();
                amount      = GetAmountOfDoorsFromUser();
                typeOfTires = GetTypeOfTire();
            }
            if (Vehicle_type == (Vehicle.VehicleType) 2) //truck
            {
                isCarringDangerous = IsCarringDangerousSubstance();
                MaximumCarryWeight = GetMaximumCarryWeight();
                typeOfTires        = GetTypeOfTire();
            }
            if (Vehicle_type == (Vehicle.VehicleType) 3)//motorcycle
            {
                type           = GetLicenseType();
                EngineCapacity = GetEngineVolume();
                typeOfTires    = GetTypeOfTire();
            }
            //addressing the factory with the request to create a vehicle with the specifications.
            if (Engine_type == (Engine)1)
            {
                var vehicle = GarageManage.StartElectricAssembly(Engine_type, License_plate, owner_name, owner_phone, model, amountOfEnergy, Vehicle_type, typeOfTires, type, EngineCapacity, isCarringDangerous, MaximumCarryWeight, color, amount);

                return(vehicle);
            }
            if (Engine_type == (Engine)2)
            {
                var vehicle = GarageManage.StartFuelAssembly(Engine_type, License_plate, owner_name, owner_phone, model, amountOfGas, Vehicle_type, typeOfTires, type, EngineCapacity, isCarringDangerous, MaximumCarryWeight, color, amount);
                return(vehicle);
            }
            return(null);
        }