Esempio n. 1
0
        public List <Vehicle> GetVehiclesInSpesificStatus(Vehicle.eRepairStatus i_Status)
        {
            List <Vehicle> vehicleToReturn = new List <Vehicle>();

            if (!r_ConnectedToMongoDB)
            {
                if (!Enum.IsDefined(typeof(Vehicle.eRepairStatus), i_Status))
                {
                    throw new ArgumentException("ERROR. " + i_Status + " status is not exist");
                }

                foreach (KeyValuePair <int, Vehicle> keyAndValue in r_VehiclesDictionary)
                {
                    if (keyAndValue.Value.Status == i_Status)
                    {
                        vehicleToReturn.Add(keyAndValue.Value);
                    }
                }
            }
            else
            {
                var statusFilter = Builders <BsonDocument> .Filter.Eq("Status", i_Status);

                List <BsonDocument> documents = r_DBCollection.Find <BsonDocument>(statusFilter).ToList();
                vehicleToReturn = VehicleCreator.ConvertBsonListToVehicleList(documents);
            }

            return(vehicleToReturn);
        }
Esempio n. 2
0
        public List <string> GetLicenseNumbersInStatus(Vehicle.eRepairStatus i_RepairStatus)
        {
            List <string> licenseNumbersInRequiredStatus = new List <string>();

            foreach (KeyValuePair <string, Client> licenseClientPair in m_Clients)
            {
                if (licenseClientPair.Value.Vehicle.RepairStatus == i_RepairStatus)
                {
                    licenseNumbersInRequiredStatus.Add(licenseClientPair.Key);
                }
            }

            return(licenseNumbersInRequiredStatus);
        }
Esempio n. 3
0
 public Client(string i_Name, string i_PhoneNumber, List <object> io_ParametersList)
 {
     // list order : 0. vehicleType ; 1. i_lisence number ; 2. modelName ; 3. energyLeft ;  4. maxEnergy ; 5. <wheels> ; 6. unique param one. ; 7. unique param two.
     try
     {
         // set local fields
         m_Name         = i_Name;
         m_PhoneNumber  = i_PhoneNumber;
         m_VehicleType  = (Vehicle.eVehicleType)io_ParametersList[0];
         m_RepairStatus = Vehicle.eRepairStatus.InProgress;
         m_Vehicle      = Factory.MakeVehicle(io_ParametersList);
     }
     catch (FormatException e)
     {
         throw e;
     }
 }
Esempio n. 4
0
        public void ChangeVehicleStatus(string i_LicensePlateNumber, Vehicle.eRepairStatus i_ReapairStatus)
        {
            Vehicle vehicleToChangeStatus = GetVehicleByLicenseNumber(i_LicensePlateNumber);

            if (!Enum.IsDefined(typeof(Vehicle.eRepairStatus), i_ReapairStatus))
            {
                throw new ArgumentException("ERROR. New vheicle status not exist");
            }

            vehicleToChangeStatus.Status = i_ReapairStatus;
            if (r_ConnectedToMongoDB)
            {
                UpdateDefinition <BsonDocument> update = Builders <BsonDocument> .Update.Set("Status", i_ReapairStatus.ToString());

                UpdateVehicleInMongoDB(i_LicensePlateNumber, update);
            }
        }
Esempio n. 5
0
        public void updateExistingClient(string i_LisenceNumber, Vehicle.eRepairStatus io_NewRepairStatus)
        {
            Client client = m_Clients[i_LisenceNumber];

            client.Vehicle.RepairStatus = io_NewRepairStatus;
        }