Beispiel #1
0
        public static string StringFromType(eDoorsType i_DoorsType)
        {
            string result;

            switch (i_DoorsType)
            {
            case eDoorsType.Five:
                result = "Five Doors";
                break;

            case eDoorsType.Four:
                result = "Four Doors";
                break;

            case eDoorsType.Three:
                result = "Three Doors";
                break;

            case eDoorsType.Two:
                result = "Two Doors";
                break;

            default:
                throw new ArgumentException("Unknown doors type");
            }

            return(result);
        }
        public static Component ParseDoorsType()
        {
            Console.WriteLine("Choose doors type: ");
            Console.WriteLine("1. Two Doors");
            Console.WriteLine("2. Three Doors");
            Console.WriteLine("3. Four Doors");
            Console.WriteLine("4. Five Doors");

            int        result = ParseIntWithinRange(1, 4);
            eDoorsType type   = (eDoorsType)result;

            return(new DoorsComponent(type));
        }
        public static string StringFromType(eDoorsType i_DoorsType)
        {
            string result;

            switch (i_DoorsType)
            {
                case eDoorsType.Five:
                    result = "Five Doors";
                    break;
                    case eDoorsType.Four:
                    result = "Four Doors";
                    break;
                    case eDoorsType.Three:
                    result = "Three Doors";
                    break;
                    case eDoorsType.Two:
                    result = "Two Doors";
                    break;
                default:
                    throw new ArgumentException("Unknown doors type");
            }

            return result;
        }
 public DoorsComponent(eDoorsType i_Value)
 {
     r_DoorsType = i_Value;
     m_ComponentType = eComponentType.DoorsComponent;
 }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        public void AddCarAndFillWithDetails(eTypeOfVeichle i_TypeOfVeichile, string i_LicenceID, string i_VehicleModel, float i_EngineCurrentEnergy, List <Tire> i_Tires, eColors i_Color, eDoorsType i_DoorType)
        {
            switch (i_TypeOfVeichile)
            {
            case eTypeOfVeichle.FuelCar:
            case eTypeOfVeichle.ElectricCar:
                if (Vehicles == null)
                {
                    Vehicles = new List <Vehicle>();
                }

                if (Cars == null)
                {
                    Cars = new List <Car>();
                }

                Car car = VeichileFactory.CreateCar(i_TypeOfVeichile);
                car.LicenceID            = i_LicenceID;
                car.Model                = i_VehicleModel;
                car.Engine.CurrentEnergy = i_EngineCurrentEnergy;
                car.Tires                = i_Tires;
                car.Colors               = i_Color;
                car.DoorType             = i_DoorType;
                Cars.Add(car);
                Vehicles.Add(car);
                break;
            }
        }
 public DoorsComponent(eDoorsType i_Value)
 {
     r_DoorsType     = i_Value;
     m_ComponentType = eComponentType.DoorsComponent;
 }
        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);
        }