Ejemplo n.º 1
0
        // The main method that run our garage
        public void StartService()
        {
            GarageManager newGarageManager = this.m_GarageManager;
            bool          isDone           = false;

            while (isDone == false)
            {
                // User choose the service he wish for.
                eService serviceOptionChoose = ServiceOptionChoose(newGarageManager.m_ServiceList);
                switch (serviceOptionChoose)
                {
                case eService.AddVehical:
                    string VehicleLicenseNum = getNewLicenseNum();
                    int    indexOnList       = newGarageManager.IndexOfVehicle(VehicleLicenseNum);
                    if (indexOnList != -1)
                    {
                        Console.WriteLine("Vehicle L.N " + VehicleLicenseNum +
                                          " is allready in the garage and his status is " + newGarageManager.VehicleList[indexOnList].VehicleStatus);
                    }
                    else
                    {
                        newGarageManager.VehicleList.Add(GetNewVehicleStatusInfo(VehicleLicenseNum));
                    }

                    break;

                case eService.PrintVehicalList:
                    PrintVehicleList(newGarageManager);
                    break;

                case eService.UpdateVehicleStatus:
                    UpdateVehicleStatus(newGarageManager);
                    break;

                case eService.FillAirInWheels:
                    string licenseOfVehicleToFillAir = getNewLicenseNum();
                    if (newGarageManager.IsInGarage(licenseOfVehicleToFillAir))
                    {
                        newGarageManager.FillAir(licenseOfVehicleToFillAir);
                        Console.WriteLine("We filled your wheels with air !");
                    }
                    else
                    {
                        Console.WriteLine("No such vehicle in the garage with this License number");
                    }

                    break;

                case eService.FuelUpTank:
                    string licenseNumberForFuel = getNewLicenseNum();
                    if (newGarageManager.IsInGarage(licenseNumberForFuel))
                    {
                        Vehicle vehicleToFuel = newGarageManager.VehicleList[newGarageManager.IndexOfVehicle(licenseNumberForFuel)].Vehicle;
                        if (vehicleToFuel.EngineEnergyType != eEnergyType.Electricity)
                        {
                            eEnergyType energyTypeToFuel = getEnergyType();
                            float       fuelToFill       = ChooseNumOf("of fuel amount");
                            newGarageManager.AddEnergy(licenseNumberForFuel, energyTypeToFuel, fuelToFill);
                        }
                        else
                        {
                            Console.Write("we are sorry but we cannot feul up a the vehicle with fuel since he use battery ! send him to charging.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("No such vehicle in the garage with this License number");
                    }

                    break;

                case eService.ChargeUpBattery:
                    string licenseNumberForCharge = getNewLicenseNum();
                    if (newGarageManager.IsInGarage(licenseNumberForCharge))
                    {
                        Vehicle vehicleToCharge = newGarageManager.VehicleList[newGarageManager.IndexOfVehicle(licenseNumberForCharge)].Vehicle;
                        if (vehicleToCharge.EngineEnergyType == eEnergyType.Electricity)
                        {
                            eEnergyType energyTypeToFuel = eEnergyType.Electricity;
                            float       batteryToCharge  = ChooseNumOf("of battery time to charge");
                            newGarageManager.AddEnergy(licenseNumberForCharge, energyTypeToFuel, batteryToCharge);
                        }
                        else
                        {
                            Console.Write("we are sorry but we cannot Charge up a the motoric vehcile since he use Fuel ! send him to fueling tank.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("No such vehicle in the garage with this License number");
                    }

                    break;

                case eService.PrintVehicleInfo:
                    PrintVehicleInfo(newGarageManager);
                    break;

                case eService.Done:
                    Console.WriteLine("Thanks for using our service, have a nice day and good bye!");
                    isDone = true;
                    break;

                default:
                    Console.WriteLine("Please choose a valide option from our service");
                    break;
                }

                Console.WriteLine("\n\n");
            }
        }