/// <summary> Deletes a team from the data & removes it from any queue or tournament /// </summary> /// <param name="t">The team that you wish to delete</param> /// <returns>String of thee report</returns> public string deleteTeam(Team t) { if (teams.Contains(t)) { //remove from the queue if its there if (QueuedTeams.Contains(t)) { Queue <Team> temp = new Queue <Team>();// = inQ; for (int i = 0; i < QueuedTeams.Count; i++) { Team deq = QueuedTeams.Dequeue(); if (deq != t) { temp.Enqueue(deq); } } QueuedTeams = temp; } //remove it from the tournament for (int i = 0; i < InTourney.Length; i++) { if (InTourney[i] == t) { InTourney[i] = null; } } //if its a winner or challenger: if (Winner == t) { Winner = Challenger; Challenger = (QueuedTeams.Count != 0) ? QueuedTeams.Dequeue() : null; } else if (Challenger == t) { Challenger = (QueuedTeams.Count != 0) ? QueuedTeams.Dequeue() : null; } //finally remove it for good teams.Remove(t); return("Removed " + t); } else { return("Remove failed! " + t + " Does not exist"); } }
/// <summary> /// Removes a team from the queue /// </summary> /// <param name="pos">index of the team in queue</param> public void removeFromQueue(int pos) { Queue <Team> tempQueue = new Queue <Team>(); int a = QueuedTeams.Count; for (int i = 0; i < a; i++) { if (i != pos) { tempQueue.Enqueue(QueuedTeams.Dequeue()); } else { QueuedTeams.Dequeue(); } } QueuedTeams = tempQueue; }