Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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]);
            }
        }