private void addVehicle() { m_VehicleInformation.Clear(); m_QuestionsDictionary.Clear(); addClientDetails(); string licenseNumber = (string)m_VehicleInformation["LicenseNumber"]; if (m_Garage.VehicleFound(licenseNumber)) { m_Garage.ChangeVehicleStatus(licenseNumber, GarageLogic.eVehicleStatus.InRepair); Console.WriteLine("The vehicle is already in the garage, vehicle status changed to in-repair."); } else { int chosenOption = getChoiceFromEnum <GarageLogic.eVehicleType>(m_CarMenu); GarageLogic.eVehicleType vehicleType = (GarageLogic.eVehicleType)chosenOption; GarageLogic.Vehicle newVehicle = m_Garage.AddClient(vehicleType, m_VehicleInformation); newVehicle.CreateUserQuestions(m_QuestionsDictionary); foreach (GarageLogic.ExtendedDictionary questions in m_QuestionsDictionary) { setVehicleInformation(questions); } newVehicle.SetVehicleDetails(m_VehicleInformation); Console.WriteLine("Vehicle added to the garage and is in repair."); } }
private static object getfirstUniqueObject(GarageLogic.eVehicleType i_TypeOfVehicle) { object o_FirstUniqueParam; if ((i_TypeOfVehicle == eVehicleType.FuelMotorBike) || (i_TypeOfVehicle == eVehicleType.ElectricMotorBike)) { Messages.askForLicenseType(); o_FirstUniqueParam = r_UIGarageTypesParser.parseLicenceType(ReciveInputAsInt()); } else if ((i_TypeOfVehicle == eVehicleType.FuelCar) || (i_TypeOfVehicle == eVehicleType.ElectricCar)) { Messages.askForCarColor(); o_FirstUniqueParam = r_UIGarageTypesParser.parseCarColor(ReciveInputAsInt()); } else if (i_TypeOfVehicle == eVehicleType.Truck) { Messages.askForBool("truck is carrying toxic materials"); o_FirstUniqueParam = r_UIGarageTypesParser.parseBool(ReciveInput()); } else { o_FirstUniqueParam = ""; } return(o_FirstUniqueParam); }
private static object getSecondtUniqueObject(GarageLogic.eVehicleType i_TypeOfVehicle) { object o_SecondUniqueParam; if ((i_TypeOfVehicle == eVehicleType.FuelMotorBike) || (i_TypeOfVehicle == eVehicleType.ElectricMotorBike)) { Messages.printShortMessage(@"Please insert motor bike Engine Capacity (as a number only):"); o_SecondUniqueParam = ReciveInputAsInt(); } else if ((i_TypeOfVehicle == eVehicleType.FuelCar) || (i_TypeOfVehicle == eVehicleType.ElectricCar)) { Messages.askForDoorsAmount(); o_SecondUniqueParam = r_UIGarageTypesParser.parseDoorsAmount(ReciveInputAsInt()); } else if (i_TypeOfVehicle == eVehicleType.Truck) { Messages.printShortMessage(@"Please insert truck is load volume (as a number only):"); o_SecondUniqueParam = r_UIGarageTypesParser.parseFloat(ReciveInput()); } else { o_SecondUniqueParam = ""; } return(o_SecondUniqueParam); }
private static void receiveInputsAndCreateNewVehicle(GarageLogic.eVehicleType io_TypeOfVehicle) { try { Messages.printShortMessage(@"Please insert vehicle model name:"); string o_ModelName = r_UIGarageTypesParser.parseString(ReciveInput()); Messages.printShortMessage(@"Please insert vehicle license ID:"); string o_LicenseID = r_UIGarageTypesParser.parseString(ReciveInput()); object o_FirstUnique = getfirstUniqueObject(io_TypeOfVehicle); object o_SecondUnique = getSecondtUniqueObject(io_TypeOfVehicle); Messages.printShortMessage(@"Please insert wheels manufacturer name:"); string o_WheelsManufacturer = r_UIGarageTypesParser.parseString(ReciveInput()); Messages.printShortMessage(@"Please insert amount of energy left in vehicle:"); float o_AmountOfEnergyLeft = r_UIGarageTypesParser.parseFloat(ReciveInput()); Messages.printShortMessage(@"Please insert the owner's of vehicle name:"); string o_OwnerName = r_UIGarageTypesParser.parseString(ReciveInput()); Messages.printShortMessage(@"Please insert owner's of vehicle phone number:"); string o_OwnerPhoneNumber = r_UIGarageTypesParser.parseString(ReciveInput()); if (Garage.CurrentGarageVehicles.TryGetValue(o_LicenseID.GetHashCode(), out GarageVehicle garageVehicle)) { Garage.InsertNewVehicle(io_TypeOfVehicle, o_ModelName, o_LicenseID, o_FirstUnique, o_SecondUnique, o_WheelsManufacturer, o_AmountOfEnergyLeft, o_OwnerName, o_OwnerPhoneNumber); Messages.vehicleAllreadyExists(); } else { Garage.InsertNewVehicle(io_TypeOfVehicle, o_ModelName, o_LicenseID, o_FirstUnique, o_SecondUnique, o_WheelsManufacturer, o_AmountOfEnergyLeft, o_OwnerName, o_OwnerPhoneNumber); Messages.vehicleInsertedSuccessfully(); } } catch (Exception Exception) { if (Exception is ArgumentException) { Console.WriteLine(Messages.insertLogicValue()); } else if (Exception is ValueOutOfRangeException) { Console.WriteLine(Exception.Message.ToString()); } else { Console.WriteLine(Messages.insertAValidInput()); } m_StayInMethod = false; Messages.printShortMessage("press any key to return to main menu"); Console.ReadKey(); } }
public void AddNewVehicle() { string licenseNumber = GetLicenseNumber(); bool vehicleExist = m_Garage.VehicleExistInGarage(licenseNumber); if (vehicleExist) { m_Garage.setInProgressStatus(licenseNumber); string errMsg = string.Format("Vehicle {0} is already in the Garage, status updated to InProgress..", licenseNumber); throw new ArgumentException(errMsg); } else { GarageLogic.eVehicleType vehicleType = GetVehicleType(); GarageLogic.Record record = m_Garage.AddNewVehicle(licenseNumber, vehicleType); UpdateRecordWithRelevantInformation(record); } }