public static Models.Directory GetDirectory(string dir, Enum.FileEventEnum fileEvent = Enum.FileEventEnum.None) { Models.Directory directory = new Models.Directory(); directory.DirName = dir; directory.Files = new List <Models.File>(); foreach (var file in System.IO.Directory.GetFiles(dir)) { directory.Files.Add(new Models.File() { Name = file.Substring(file.LastIndexOf("\\") + 1), Event = fileEvent, MD5 = FileHelper.CalculateMD5(file) }); } return(directory); }
public static IList <Models.Directory> GetDirectories(string[] directories, Enum.FileEventEnum fileEvent = Enum.FileEventEnum.None) { List <Models.Directory> result = new List <Models.Directory>(); if (directories.Any()) { foreach (var dir in directories) { if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } Models.Directory directory = new Models.Directory(); directory.DirName = dir; directory.Files = new List <Models.File>(); foreach (var file in System.IO.Directory.GetFiles(dir)) { directory.Files.Add(new Models.File() { Name = Path.GetFileName(file), Event = fileEvent, MD5 = FileHelper.CalculateMD5(file) }); } result.Add(directory); var subDirectories = System.IO.Directory.GetDirectories(dir); if (subDirectories.Any()) { subDirectories = subDirectories.Select(c => c += "\\").ToArray(); result.AddRange(GetDirectories(subDirectories, fileEvent)); } } } return(result); }