private void buildLibrary(IConfigurationActor configuration, IBassActor bass) { LibraryItems = new List <LibraryItem>(); int counter = 1; var directory = new DirectoryInfo(configuration.LibraryConfiguration.MusicDirectory.ToString()); var comparison = new Comparison <FileInfo>((x, y) => { return(x.Name.CompareTo(y.Name)); }); var musicFiles = directory.EnumerateFiles("*.mp3", SearchOption.AllDirectories).ToList(); musicFiles.Sort(comparison); var items = musicFiles.Select(x => new LibraryItem(counter++, x.FullName, bassActor)).ToList(); LibraryItems.AddRange(items); RefreshedAt = DateTime.Now; }
public LibraryActor(IConfigurationActor configuration, IBassActor bass) { configurationActor = configuration ?? throw new ArgumentNullException(nameof(configuration)); bassActor = bass ?? throw new ArgumentNullException(nameof(bass)); buildLibrary(configuration, bass); }