Example #1
0
        /*
         * createVehicle({
         * type: ..
         * ...
         * })
         *
         * =>
         * vehicleFactory(data){
         * data.type => instance
         * instance.builder(data)
         * }
         */

        public Vechicles add(string plate, Vechicles.OprtionOfVechicles vechiclesType)
        {
            Vechicles newVechicle = null;

            if (vechiclesType == Vechicles.OprtionOfVechicles.ElectricCar)
            {
                newVechicle = new Car(new ElectricEngine(), plate);
            }
            else if (vechiclesType == Vechicles.OprtionOfVechicles.FuelCar)
            {
                newVechicle = new Car(new FuelEngine(), plate);
            }
            else if (vechiclesType == Vechicles.OprtionOfVechicles.ElectricMotorcycle)
            {
                //newVechicle = new Motorcycle();
            }
            else if (vechiclesType == Vechicles.OprtionOfVechicles.FuelMotorcycle)
            {
                //newVechicle = new Motorcycle();
            }
            else if (vechiclesType == Vechicles.OprtionOfVechicles.Truck)
            {
                //newVechicle = new Truck();
            }
            return(newVechicle);
        }
Example #2
0
        public List <StringPlusType> getLsit(Vechicles.OprtionOfVechicles vechicleType, string plate)
        {
            List <StringPlusType> ListToReturn = null;

            ListToReturn = m_ListOfVechicles[plate].getQuestions();
            return(ListToReturn);
        }
Example #3
0
 public void AddNewV(Vechicles.OprtionOfVechicles i_VechicleType, string i_PlateNumber)
 {
     if (m_ListOfVechicles.ContainsKey(i_PlateNumber))
     {
         throw new Exception("there are already plate nuber like that, try again.");
     }
     else
     {
         Vechicles newVechicle = m_VeichiclesCreator.add(i_PlateNumber, i_VechicleType);
         m_ListOfVechicles.Add(i_PlateNumber, newVechicle);
     }
 }
Example #4
0
        private void AddVechicles()
        {
            string plate;

            string[] stringOfEnum  = Enum.GetNames(typeof(Vechicles.OprtionOfVechicles));
            Menu     vechiclesMenu = BuildMenu(stringOfEnum);

            m_UserInterfaceInputOutput.ShowMenu(vechiclesMenu);
            Vechicles.OprtionOfVechicles vechicleType = (Vechicles.OprtionOfVechicles)GetInputFromUser(vechiclesMenu);
            m_UserInterfaceInputOutput.PrintMessageToUser("Please Enter a plate number: ");
            plate = m_UserInterfaceInputOutput.GetStringFromUser();
            try
            {
                m_GarageLogicManager.AddNewV(vechicleType, plate);
                List <StringPlusType> Questions = m_GarageLogicManager.getLsit(vechicleType, plate);
                List <StringPlusType> Answers   = new List <StringPlusType>();
                string answer;
                foreach (StringPlusType q in Questions)
                {
                    m_UserInterfaceInputOutput.PrintMessageToUser(q.Word);
                    answer = m_UserInterfaceInputOutput.GetStringFromUser();
                    Answers.Add(new StringPlusType(answer, q.mytype));
                }
                try
                {
                    m_GarageLogicManager.SetVechicel(vechicleType, plate, Answers);
                }
                catch (Exception rx)
                {
                    m_UserInterfaceInputOutput.PrintMessageToUser("one of your inputs is not as needed, please try again");
                    m_GarageLogicManager.del(plate);
                }
            }
            catch (Exception ex)
            {
                m_UserInterfaceInputOutput.PrintMessageToUser(ex.Message);
            }

            m_UserInterfaceInputOutput.StopTheProgram();
        }
Example #5
0
 public void SetVechicel(Vechicles.OprtionOfVechicles vechicleType, string plate, List <StringPlusType> Answers)
 {
     m_ListOfVechicles[plate].set(Answers);
 }