Example #1
0
        private static void ScanFolder(string path, MediaManager.MvcViewModels.MediaManagerContext context, Collection <string> extensions)
        {
            foreach (var file in Directory.GetFiles(path))
            {
                string extension = Path.GetExtension(file).Replace(".", string.Empty);
                if (extensions.Contains(extension))
                {
                    Console.WriteLine("Adding " + file);
                    var fi = new FileInfo(file);
                    var mf = new MediaFile
                    {
                        FileName          = fi.Name,
                        Folder            = fi.DirectoryName,
                        SizeInBytes       = fi.Length,
                        CreatedTimestamp  = fi.CreationTime,
                        ModifiedTimestamp = fi.LastWriteTime
                    };

                    mf.ExamineForMetadata();
                    context.MediaFiles.Add(mf);
                    context.SaveChanges();
                }
                else
                {
                    Console.WriteLine("Skipping " + file);
                }
            }

            foreach (var folder in Directory.GetDirectories(path))
            {
                ScanFolder(folder, context, extensions);
            }
        }