private static IEnumerable<FolderFileList> GetFolderAndFiles(SiteInfo si) { var list = new List<FolderFileList>(); //get the parent path for this site var parentPath = ConfigurationManager.AppSettings["NovaNetUploadPath"]; parentPath = Path.Combine(parentPath, si.SiteId); if (Directory.Exists(parentPath)) { //get the folders (named after the computer name) var folders = Directory.EnumerateDirectories(parentPath); var newLastDate = new DateTime(); foreach (var folder in folders) { var folderAndFile = new FolderFileList(); list.Add(folderAndFile); var di = new DirectoryInfo(folder); folderAndFile.Name = di.Name; DateTime? lastFileDate = null; var lastFolderFileDate = si.FolderFileLastDates.Find(x => x.Name == di.Name); if (lastFolderFileDate == null) { //if the site doesn't have this folder then add it lastFolderFileDate = new FolderFileLastDate { Name = di.Name }; si.FolderFileLastDates.Add(lastFolderFileDate); } else { if (lastFolderFileDate.LastFileDate.HasValue) { lastFileDate = lastFolderFileDate.LastFileDate; } } foreach (var file in di.GetFiles()) { Console.WriteLine("file name: " + file.FullName); if (!file.Name.ToUpper().StartsWith("PR")) { //skip all files except files that start with pr //maybe archive file continue; } //extract the date from the file name var datePart = file.Name.Substring(2, 6); var sDate = "20" + datePart.Substring(0, 2) + "/" + datePart.Substring(2, 2) + "/" + datePart.Substring(4, 2); var fileDate = DateTime.Parse(sDate); if (lastFileDate != null && lastFileDate.Value.CompareTo(fileDate) >= 0) continue; folderAndFile.Files.Add(file); if (newLastDate.CompareTo(fileDate) < 0) newLastDate = fileDate; }//foreach (var file in di.GetFiles()) if (lastFolderFileDate.LastFileDate == null) lastFolderFileDate.NewLastFileDate = newLastDate; else { if (newLastDate.CompareTo(lastFolderFileDate.LastFileDate.Value) > 0) lastFolderFileDate.NewLastFileDate = newLastDate; } }//foreach (var folder in folders) } return list; }
private static IEnumerable <FolderFileList> GetFolderAndFiles(SiteInfo si) { var list = new List <FolderFileList>(); //get the parent path for this site var parentPath = ConfigurationManager.AppSettings["NovaNetUploadPath"]; parentPath = Path.Combine(parentPath, si.SiteId); if (Directory.Exists(parentPath)) { //get the folders (named after the computer name) var folders = Directory.EnumerateDirectories(parentPath); var newLastDate = new DateTime(); foreach (var folder in folders) { var folderAndFile = new FolderFileList(); list.Add(folderAndFile); var di = new DirectoryInfo(folder); folderAndFile.Name = di.Name; DateTime?lastFileDate = null; var lastFolderFileDate = si.FolderFileLastDates.Find(x => x.Name == di.Name); if (lastFolderFileDate == null) { //if the site doesn't have this folder then add it lastFolderFileDate = new FolderFileLastDate { Name = di.Name }; si.FolderFileLastDates.Add(lastFolderFileDate); } else { if (lastFolderFileDate.LastFileDate.HasValue) { lastFileDate = lastFolderFileDate.LastFileDate; } } foreach (var file in di.GetFiles()) { Console.WriteLine("file name: " + file.FullName); if (!file.Name.ToUpper().StartsWith("PR")) { //skip all files except files that start with pr //maybe archive file continue; } //extract the date from the file name var datePart = file.Name.Substring(2, 6); var sDate = "20" + datePart.Substring(0, 2) + "/" + datePart.Substring(2, 2) + "/" + datePart.Substring(4, 2); var fileDate = DateTime.Parse(sDate); if (lastFileDate != null && lastFileDate.Value.CompareTo(fileDate) >= 0) { continue; } folderAndFile.Files.Add(file); if (newLastDate.CompareTo(fileDate) < 0) { newLastDate = fileDate; } }//foreach (var file in di.GetFiles()) if (lastFolderFileDate.LastFileDate == null) { lastFolderFileDate.NewLastFileDate = newLastDate; } else { if (newLastDate.CompareTo(lastFolderFileDate.LastFileDate.Value) > 0) { lastFolderFileDate.NewLastFileDate = newLastDate; } } }//foreach (var folder in folders) } return(list); }