private static void registerNewCustomer(Customer i_NewCustomer, eVehicleType i_VehicleType) { Console.Clear(); printGarageWelcome(); System.Console.WriteLine(Environment.NewLine + "Please enter your name"); string ownerName = System.Console.ReadLine(); i_NewCustomer.Name = ownerName; System.Console.WriteLine(Environment.NewLine + "Please enter your phone number"); string ownerPhoneNumber = System.Console.ReadLine(); i_NewCustomer.PhoneNumber = ownerPhoneNumber; System.Console.WriteLine(Environment.NewLine + "Please enter your " + Vehicle.GetStringForVehicleType(i_VehicleType).ToLower() + "'s license number"); string ownerLicenseNumber = System.Console.ReadLine(); if (!m_OurGarage.IsInGarage(ownerLicenseNumber)) { m_OurGarage.AddCustomer(i_NewCustomer); newVehicle(m_OurGarage, i_NewCustomer, i_VehicleType, ownerLicenseNumber); } else { existingCarHandling(ownerLicenseNumber); } }
private void addToGarge(Vehicle i_Vehicle) { string customerName = null; string phoneNumber = null; Console.WriteLine("Please Enter Name of Customer"); customerName = Console.ReadLine(); Console.WriteLine("Please Enter PhoneNumber of Customer"); phoneNumber = Console.ReadLine(); m_Garge.AddCustomer(i_Vehicle, customerName, phoneNumber); }
private void addCustomerToGarage() { Vehicle newVehicleToAdd; eVehicleTypes vehicleType; VehicleInside NewCustomerToAdd; string choiceOfUser; choiceOfUser = chooseOption(typeof(eVehicleTypes), Messages.s_AskVehicleType); vehicleType = (eVehicleTypes)Enum.Parse(typeof(eVehicleTypes), choiceOfUser); newVehicleToAdd = setGeneralInfo(vehicleType); // get general info- each vehicle must have. if (newVehicleToAdd != null) { setInfoByType(newVehicleToAdd); // get specific information by type. (GetQuestions) setOwnerInfo(newVehicleToAdd, out NewCustomerToAdd); m_Garage.AddCustomer(NewCustomerToAdd); Console.Clear(); Console.WriteLine(Messages.s_AddToGarage, newVehicleToAdd.GetType().Name); Thread.Sleep(k_SleepTime); } }
public static eTypeOfVeichle AddVeichleToGarageMenu() { string phoneNumber, fullName; string licenceID, model; float currentGazAmountOrHoursLeftForBattery, capacity = 0; int intColor, intDoorsType, readTypeOfVeicle, intLicenceType; bool conrainsIsDanger = false; List <Tire> tire = new List <Tire>(); eColors color = eColors.Gray; eDoorsType doorType = eDoorsType.Two; eLiecenceType liecenceType = eLiecenceType.A; Garage garage = new Garage(); Console.Clear(); readTypeOfVeicle = int.Parse(addVeichleChoice()); Console.WriteLine("Please enter licence id of the car:"); licenceID = Console.ReadLine(); if (!Garage.IsLicenceIDExistInGarage(licenceID)) { do { Console.WriteLine("Please enter your full name.(only letters)"); fullName = Console.ReadLine(); } while (string.IsNullOrWhiteSpace(fullName) || isStringContainsNumsOrSigns(fullName)); do { Console.WriteLine("Please enter your phone number(numbers only no spaces)"); phoneNumber = Console.ReadLine(); } while (string.IsNullOrWhiteSpace(phoneNumber) || !isStringContainsOnlyNumerics(phoneNumber)); Console.WriteLine("Please enter Model of the car"); model = Console.ReadLine(); do { if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelCar || (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelMotorCycle || (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.Truck) { Console.WriteLine("Please enter current gas amount of the car (Numeric)"); } else { Console.WriteLine("Please enter current hours lefft for battery of the car (numeric)"); } } while (!float.TryParse(Console.ReadLine(), out currentGazAmountOrHoursLeftForBattery)); initTires(out tire, (eTypeOfVeichle)readTypeOfVeicle); if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelCar || (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricCar) { do { Console.WriteLine( @"Please enter Color of the car 1. grey 2. green 3. white 4. red"); } while (!(int.TryParse(Console.ReadLine(), out intColor) && intColor >= 1 && intColor <= 4)); color = (eColors)intColor; } else if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelMotorCycle || //3 (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricMotorCycle) //4 { do { Console.WriteLine( @"Please enter licence type of the car 1. A 2. A1 3. B1 4. B2"); } while (!(int.TryParse(Console.ReadLine(), out intLicenceType) && intLicenceType >= 1 && intLicenceType <= 4)); liecenceType = (eLiecenceType)intLicenceType; } else //5 { string read; do { Console.WriteLine("Please enter Does contains danger matirials(Y/N)"); read = Console.ReadLine(); } while (!(read == "y" || read == "Y" || read == "n" || read == "N")); conrainsIsDanger = read == "Y" || read == "y"; } if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelCar || (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricCar) { do { Console.WriteLine("Please enter doors type of the car(between 2-5)"); } while (!((int.TryParse(Console.ReadLine(), out intDoorsType)) && intDoorsType >= 2 && intDoorsType <= 5)); doorType = (eDoorsType)(intDoorsType - 1); } else { do { Console.WriteLine("Please enter engine capacity of the car(cc)"); } while (!(float.TryParse(Console.ReadLine(), out capacity))); } try { if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelCar || (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricCar) { garage.AddCarAndFillWithDetails((eTypeOfVeichle)readTypeOfVeicle, licenceID, model, currentGazAmountOrHoursLeftForBattery, tire, color, doorType); Console.WriteLine("added a new car is succeess"); } else if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelMotorCycle || (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricMotorCycle) { garage.AddMotorAndFillWithDetails( (eTypeOfVeichle)readTypeOfVeicle, licenceID, model, currentGazAmountOrHoursLeftForBattery, tire, liecenceType, (int)capacity); Console.WriteLine("added a new motorecycle is succeess"); } else { garage.AddTruckAndFillWithDetails( eTypeOfVeichle.Truck, licenceID, model, currentGazAmountOrHoursLeftForBattery, tire, conrainsIsDanger, capacity); Console.WriteLine("added a new truck is succeess"); } garage.AddCustomer(fullName, phoneNumber, licenceID); Console.WriteLine("for exit to main menu press any key"); Console.ReadLine(); } catch (ValueOutOfRangeException ex) { Console.WriteLine( @" {0} added a new car/motorcycle/truck is failed. for try again press any key", ex.Message); Console.ReadLine(); AddVeichleToGarageMenu(); } } else { Garage.ChangeStatusOfVehicleIfExists(licenceID, eVeichileStatus.FIXING); Console.WriteLine( @"The Licence ID is exists - changing the status vehicle to fixing for exit to main menu press any key"); Console.ReadLine(); } return((eTypeOfVeichle)readTypeOfVeicle); }
public static eTypeOfVeichle AddVeichleToGarage() { string phoneNumber, fullName; string licenceID, model, tiresModel; float currentGazAmountOrHoursLeftForBattery, tiresCurrentPressure, capacity = 0; int intColor, intDoorsType, readTypeOfVeicle, intLicenceType; bool conrainsIsDanger = false; eColors color = eColors.Gray; eDoorsType doorType = eDoorsType.Two; eLiecenceType liecenceType = eLiecenceType.A; Garage garage = new Garage(); Console.Clear(); readTypeOfVeicle = int.Parse(addVeichleChoice()); Console.WriteLine("Please enter licence id of the car:"); licenceID = Console.ReadLine(); if (!Garage.IsLicenceIDExistInGarage(licenceID)) { Console.WriteLine("Please enter your full name"); fullName = Console.ReadLine(); Console.WriteLine("Please enter your phone number"); phoneNumber = Console.ReadLine(); Console.WriteLine("Please enter Model of the car"); model = Console.ReadLine(); do { if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelCar || //1 (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelMotorCycle || //3 (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.Truck) //5 { Console.WriteLine("Please enter current gas amount of the car (numeric)"); } else //2,4 { Console.WriteLine("Please enter current hours lefft for battery of the car (numeric)"); } } while (!float.TryParse(Console.ReadLine(), out currentGazAmountOrHoursLeftForBattery)); Console.WriteLine("please enter Tires Model of the car"); tiresModel = Console.ReadLine(); do { Console.WriteLine("Please enter Tires Current pressure of the car (numeric)"); } while (!float.TryParse(Console.ReadLine(), out tiresCurrentPressure)); if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelCar || //1 (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricCar) //2 { do { Console.WriteLine("Please enter Color of the car\ngrey->1, green->2, white->3 , red->4"); } while (!(int.TryParse(Console.ReadLine(), out intColor) && intColor >= 1 && intColor <= 4)); color = (eColors)intColor; } else if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelMotorCycle || //3 (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricMotorCycle) //4 { do { Console.WriteLine("Please enter licence type of the car\nA->1, A1->2, B1->3 , B2->4"); } while (!(int.TryParse(Console.ReadLine(), out intLicenceType) && intLicenceType >= 1 && intLicenceType <= 4)); liecenceType = (eLiecenceType)intLicenceType; } else //5 { string read; do { Console.WriteLine("Please enter Does contains danger matirials(Y/N)"); read = Console.ReadLine(); } while (!(read == "y" || read == "Y" || read == "n" || read == "N")); conrainsIsDanger = read == "Y" || read == "y"; } if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelCar || //1 (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricCar) //2 { do { Console.WriteLine("Please enter doors type of the car(between 2-5)"); } while (!((int.TryParse(Console.ReadLine(), out intDoorsType)) && intDoorsType >= 2 && intDoorsType <= 5)); doorType = (eDoorsType)(intDoorsType - 1); } else //3,4,5 { do { Console.WriteLine("Please enter engine capacity of the car(cc)"); } while (!(float.TryParse(Console.ReadLine(), out capacity))); } try { if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelCar || //1 (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricCar) //2 { garage.AddCarAndFillWithDetails((eTypeOfVeichle)readTypeOfVeicle, licenceID, model, currentGazAmountOrHoursLeftForBattery, tiresModel, tiresCurrentPressure, color, doorType); Console.WriteLine("added a new car is succeess"); Console.WriteLine("for exit to main menu press any key"); Console.ReadLine(); } else if ((eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.FuelMotorCycle || //3 (eTypeOfVeichle)readTypeOfVeicle == eTypeOfVeichle.ElectricMotorCycle) //4 { garage.AddMotorAndFillWithDetails((eTypeOfVeichle)readTypeOfVeicle, licenceID, model, currentGazAmountOrHoursLeftForBattery, tiresModel, tiresCurrentPressure, liecenceType, capacity); Console.WriteLine("added a new motorecycle is succeess"); Console.WriteLine("for exit to main menu press any key"); Console.ReadLine(); } else //5 { garage.AddTruckAndFillWithDetails(eTypeOfVeichle.Truck, licenceID, model, currentGazAmountOrHoursLeftForBattery, tiresModel, tiresCurrentPressure, conrainsIsDanger, capacity); Console.WriteLine("added a new truck is succeess"); } garage.AddCustomer(fullName, phoneNumber, licenceID); Console.WriteLine("for exit to main menu press any key"); Console.ReadLine(); } catch (ValueOutOfRangeException ex) { Console.WriteLine(); Console.WriteLine(); Console.WriteLine(ex.Message); Console.WriteLine("added a new car/motorcycle/truck is failed.\nto try again press any key"); Console.ReadLine(); //System.Threading.Thread.Sleep(1500); return(AddVeichleToGarage()); } } else { Console.WriteLine("The Licence ID is exists"); Console.WriteLine("for exit to main menu press any key"); Console.ReadLine(); } System.Threading.Thread.Sleep(1500); return((eTypeOfVeichle)readTypeOfVeicle); }