Esempio n. 1
0
 public void ListTrucks()
 {
     for (TruckElem elem = _truckList; elem != null; elem = elem.Next)
     {
         Console.WriteLine(elem.Truck);
     }
 }
Esempio n. 2
0
 /* Remove the client from all trucks in the fleet.
  */
 public void RemoveClient(String clientName)
 {
     for (TruckElem elem = _truckList; elem != null; elem = elem.Next)
     {
         elem.Truck.RemoveClient(clientName);
     }
 }
Esempio n. 3
0
        /* Remove the first matching truck from the fleet (should be the only one).
         * Return 0 on success and -1 otherwise.
         */
        public int Remove(String numberplate)
        {
            TruckElem prevElem = null;

            for (TruckElem currentElem = _truckList; currentElem != null; currentElem = currentElem.Next)
            {
                if (currentElem.Truck.Numberplate == numberplate) // found a match
                {
                    if (prevElem == null)                         // start of list
                    {
                        _truckList = currentElem.Next;
                    }
                    else // element in the list
                    {
                        prevElem.Next = currentElem.Next;
                    }

                    truckListLength -= 1;
                    return(0);
                }

                prevElem = currentElem;
            }
            return(-1); // numberplate not found
        }
Esempio n. 4
0
 /* List all trucks which are assigned to the given client.
  */
 public void ListTrucksOfClient(string client)
 {
     for (TruckElem elem = _truckList; elem != null; elem = elem.Next)
     {
         if (elem.Truck.HasClient(client))
         {
             Console.WriteLine(elem.Truck);
         }
     }
 }
Esempio n. 5
0
        /* Return the first truck in the fleet with a matching numberplate (should be the only one).
         */
        private Truck GetTruck(string numberplate)
        {
            for (TruckElem elem = _truckList; elem != null; elem = elem.Next)
            {
                if (elem.Truck.Numberplate == numberplate)
                {
                    return(elem.Truck);
                }
            }

            return(null);
        }
Esempio n. 6
0
        public string[] ReturnTrucksNoClients()
        {
            string[] trucks = new string[truckListLength];
            int      i      = 0;

            for (TruckElem elem = _truckList; elem != null; elem = elem.Next)
            {
                if (!elem.Truck.HasClients())
                {
                    trucks[i++] = elem.Truck.Numberplate;
                }
            }
            return(trucks);
        }
Esempio n. 7
0
        /* Insert a truck into the fleet sorted alphabetically.
         * Return 0 on success;
         * Return -1 if the truck is already in the fleet.
         */
        public int Add(Truck t)
        {
            TruckElem prevElem = null;

            for (TruckElem currentElem = _truckList; currentElem != null; currentElem = currentElem.Next)
            {
                int comp = currentElem.Truck.Numberplate.CompareTo(t.Numberplate);
                if (comp == 0) // THe truck already is in the fleet
                {
                    return(-1);
                }
                if (comp < 0) // The truck should be alphabetically first
                {
                    if (prevElem != null)
                    {
                        prevElem.Next = new TruckElem(t, currentElem);
                    }
                    else
                    {
                        _truckList = new TruckElem(t, currentElem); // Insert at the start of the list
                    }
                    truckListLength += 1;
                    return(0); // Success
                }

                prevElem = currentElem;
            }

            if (prevElem == null)
            {
                _truckList = new TruckElem(t, null); // Insert at the start of the list
            }
            else
            {
                prevElem.Next = new TruckElem(t, null); // Insert to the end of the list
            }
            truckListLength += 1;

            return(0);
        }
Esempio n. 8
0
 public TruckElem(Truck truck, TruckElem next)
 {
     Next  = next;
     Truck = truck;
 }