public DirectoryRecord Read(DirectoryInfo di)
        {
            if (!di.Exists) throw new DirectoryNotFoundException();

             var dr = new DirectoryRecord() { FullName = di.FullName };

             foreach (var file in di.GetFiles())
             {
            if (AllowedExtensions.Contains(file.Extension))
            {
               var vi = new VideoRecord() { FullName = file.FullName, };
               dr.Videos.Add(vi);
            }
             }
             dr.Videos.Sort((left, right) => left.Name.CompareTo(right.Name));

             foreach (var subdirectory in di.GetDirectories())
             {
            var subdr = Read(subdirectory);
            if (!subdr.Empty)
            {
               dr.Directories.Add(subdr);
            }
             }
             dr.Directories.Sort((left, right) => left.FullName.CompareTo(right.FullName));
             return dr;
        }
Example #2
0
        private void PlayVideo(VideoRecord vr)
        {
            if (vr == null) return;

             vr.Watched = true;
             fileView.Items.Refresh();

             System.Diagnostics.Process.Start(vr.FullName);
        }