// Methods // public void RequestElevator(int floorNumber, CageManager cageManager) { foreach (FloorButton button in floorButtons) { if (button.id == floorNumber) { button.status = "Active"; } } Column myColumn = cageManager.GetColumn(1, floorNumber); Console.WriteLine("Floor requested. Please proceed to column " + myColumn.id); }
// Assign each request to an elevator // static void AssignElevator(CageManager myCageManager) { foreach (Request request in requestQueue) { if (request.assignment == "Unassigned") { Column myColumn = myCageManager.GetColumn(request.pickup, request.destination); Console.WriteLine("Column " + myColumn.id + " is selected."); Cage myCage = myCageManager.GetCage(request.direction, myColumn.id - 1, request.pickup); request.assignment = "Assigned"; myCage.pickupRequests.Add(request); Console.WriteLine("Cage " + myCage.id + " receives request for floor " + myCage.pickupRequests[0].pickup); myCage.pickupRequests.OrderBy(o => o.pickup); } } }