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); }
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); }
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; } }
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); } }
public void updateExistingClient(string i_LisenceNumber, Vehicle.eRepairStatus io_NewRepairStatus) { Client client = m_Clients[i_LisenceNumber]; client.Vehicle.RepairStatus = io_NewRepairStatus; }