private static void GetFolderFilesLastDate(SiteInfo si) { var strConn = ConfigurationManager.ConnectionStrings["Halfpint"].ToString(); SqlDataReader rdr = null; using (var conn = new SqlConnection(strConn)) { try { var cmd = new SqlCommand { Connection = conn, CommandText = "GetNovanetLastFileDates", CommandType = CommandType.StoredProcedure }; var param = new SqlParameter("@siteId", si.Id); cmd.Parameters.Add(param); conn.Open(); rdr = cmd.ExecuteReader(); si.FolderFileLastDates = new List <FolderFileLastDate>(); while (rdr.Read()) { var ffld = new FolderFileLastDate(); int pos = rdr.GetOrdinal("Id"); ffld.Id = rdr.GetInt32(pos); pos = rdr.GetOrdinal("MachineName"); ffld.Name = rdr.GetString(pos); pos = rdr.GetOrdinal("LastFileDate"); ffld.LastFileDate = rdr.IsDBNull(pos) ? (DateTime?)null : rdr.GetDateTime(pos); si.FolderFileLastDates.Add(ffld); } rdr.Close(); } catch (Exception ex) { Logger.Error(ex); } finally { if (rdr != null) { rdr.Close(); } } } }
private static void GetFolderFilesLastDate(SiteInfo si) { var strConn = ConfigurationManager.ConnectionStrings["Halfpint"].ToString(); SqlDataReader rdr = null; using (var conn = new SqlConnection(strConn)) { try { var cmd = new SqlCommand { Connection = conn, CommandText = "GetNovanetLastFileDates", CommandType = CommandType.StoredProcedure }; var param = new SqlParameter("@siteId", si.Id); cmd.Parameters.Add(param); conn.Open(); rdr = cmd.ExecuteReader(); si.FolderFileLastDates = new List<FolderFileLastDate>(); while (rdr.Read()) { var ffld = new FolderFileLastDate(); int pos = rdr.GetOrdinal("Id"); ffld.Id = rdr.GetInt32(pos); pos = rdr.GetOrdinal("MachineName"); ffld.Name = rdr.GetString(pos); pos = rdr.GetOrdinal("LastFileDate"); ffld.LastFileDate = rdr.IsDBNull(pos) ? (DateTime?)null : rdr.GetDateTime(pos); si.FolderFileLastDates.Add(ffld); } rdr.Close(); } catch (Exception ex) { Logger.Error(ex); } finally { if (rdr != null) rdr.Close(); } } }
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); }