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; }
private void PlayVideo(VideoRecord vr) { if (vr == null) return; vr.Watched = true; fileView.Items.Refresh(); System.Diagnostics.Process.Start(vr.FullName); }