public SimpleFileSearcher(ClientEntities.Directory dir, Extensions extensions, IMusicService musicService, IVideoService videoService, IImageService imageService) { this.MusicExtensions = extensions.MusicExtensions; this.VideoExtensions = extensions.VideoExtensions; this.PictureExtensions = extensions.PictureExtensions; this.musicService = musicService; this.imageService = imageService; this.videoService = videoService; dirId = dir.Id; Search(dir); }
public void Search(ClientEntities.Directory dir) { FileInfo[] files = null; DirectoryInfo[] subDirs = null; DirectoryInfo root = new DirectoryInfo(dir.Path); files = root.GetFiles(); if (files != null) { foreach (FileInfo fi in files) { /// Add to specific list(Casted) String extension = Path.GetExtension(fi.FullName); if (MusicExtensions.Contains(extension)) { musicService.Add(new Music(fi.FullName, fi.Name), dirId); } else if (VideoExtensions.Contains(extension)) { videoService.Add(new Video(fi.FullName, fi.Name), dirId); } else if (PictureExtensions.Contains(extension)) { imageService.Add(new Image(fi.FullName, fi.Name), dirId); } } subDirs = root.GetDirectories(); foreach (DirectoryInfo dirInfo in subDirs) { Search(new ClientEntities.Directory(dirInfo.Name, dirInfo.FullName)); } } }