예제 #1
0
        public void AddVehicleToGarage(string i_Owner, string i_Phone, VehicleInputData i_VehicleData)
        {
            VehicleCard newCard, foundCard;
            Vehicle     newVehicle;

            try
            {
                foundCard = FindCardByLicense(i_VehicleData.m_LicenseNumber);
            }
            catch (KeyNotFoundException)
            {
                foundCard = null;
            }

            if (foundCard == null)
            {
                newVehicle = VehicleCreator.CreateNewVehicle(i_VehicleData);
                newCard    = new VehicleCard(i_Owner, i_Phone, VehicleCard.eVehicleStatus.InService, newVehicle);
                m_Cards.Add(newCard);
            }
            else
            {
                foundCard.Status = VehicleCard.eVehicleStatus.InService;
                throw new VehicleAllreadyInGarageException(new Exception(), foundCard.Vehicle.LicenseNumber);
            }
        }
예제 #2
0
        // Add new vehicle by type to the vehicle list, if the vehicle all ready exist, change his status to InRepair
        public void AddNewVehicle(string i_LicenseNumber, Enums.eVehicleType i_VehicleKind)
        {
            Vehicle NewVehicle;

            if (m_ListOfVehicles.ContainsKey(i_LicenseNumber))
            {
                m_ListOfVehicles[i_LicenseNumber].VehicleStatus = Enums.eVehicleStatus.InRepair;

                throw new Exception("Vehicle all ready exist, status changed to in repair");
            }
            else
            {
                NewVehicle = VehicleCreator.CreateNewVehicle(i_LicenseNumber, i_VehicleKind);
                m_ListOfVehicles.Add(i_LicenseNumber, NewVehicle);
            }
        }
예제 #3
0
        public void InsertVehicle(string i_OwnerName, string i_OwnerPhone, eVehicleType i_VehicleType, string i_plateNumber)
        {
            bool isExist = false;

            foreach (string key in r_VehiclesStorage.Keys)
            {
                if (key == i_plateNumber)
                {
                    r_VehiclesStorage[key].Status = eVehicleStatus.InProgress;
                    throw new ArgumentException("Vehicle already in the garage! Changing vehicle status to 'In-Progress'");
                }
            }

            if (isExist == false)
            {
                Vehicle           i_NewVehicle   = VehicleCreator.CreateNewVehicle(i_VehicleType, i_plateNumber);
                GarageVehicleInfo NewVehicleData = new GarageVehicleInfo(i_OwnerName, i_OwnerPhone, i_NewVehicle);
                r_VehiclesStorage.Add(i_plateNumber, NewVehicleData);
            }
        }