public void AddSongToGroup(Song songToAdd, List <string> authorList) { for (int i = 0; i < authorList.Count; i++) { bool isAuthorUniqueFlag = false; for (int i1 = 0; i1 < GroupedSongDatabaseList.Count; i1++) { if (GroupedSongDatabaseList[i1].NameOfGroup == authorList[i]) { GroupedSongDatabaseList[i1].Add(songToAdd); isAuthorUniqueFlag = true; break; } } if (isAuthorUniqueFlag == false) { GroupedSong songGroup = new GroupedSong() { NameOfGroup = authorList[i] }; songGroup.Add(songToAdd); GroupedSongDatabaseList.Add(songGroup); } } }
public void GroupDatabase() { for (int i = 0; i < SongDatabaseObservable.Count; i++) { AddSongToGroup(SongDatabaseObservable[i], SongDatabaseObservable[i].LeadAuthorList); AddSongToGroup(SongDatabaseObservable[i], SongDatabaseObservable[i].FeatureAuthorList); } GroupedSongDatabaseList.Sort((p, q) => p.NameOfGroup.CompareTo(q.NameOfGroup)); for (int i1 = 0; i1 < GroupedSongDatabaseList.Count; i1++) { GroupedSongDatabaseObservable.Add(GroupedSongDatabaseList[i1]); } }