public void GenerateEventsBest() { foreach (var team in this) { foreach (var athlete in team) { foreach (var mark in athlete) { if (MeetEventsBest.All(meetEvent => meetEvent != mark.Event)) { MeetEventsBest.Add(new MeetEvent(mark.Event.Name, this)); } } } } foreach (var team in this) { foreach (var athlete in team) { foreach (var meetEvent in MeetEventsBest) { if (athlete.BestMarks.All(mark => mark.Event != meetEvent)) { continue; } meetEvent.Results.Add(athlete, athlete.BestMarkOfEvent(meetEvent).Clone()); } } } MeetEventsBest.ForEach(meetEvent => { meetEvent.SortAthletesBest(); }); }
IEnumerator <MeetEvent> IEnumerable <MeetEvent> .GetEnumerator() { return(MeetEventsBest.GetEnumerator()); }