Exemplo n.º 1
0
        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.");
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 5
0
        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);
            }
        }