public string[] GetDatasetDirectories() { var subdirs = Directory.GetDirectories(DataDir); Array.Sort(subdirs, delegate(string name1, string name2) { var n1 = new FileInfo(name1).Name; var n2 = new FileInfo(name2).Name; var m1 = numberRegex.Match(n1); var m2 = numberRegex.Match(n2); if (m1.Success && m2.Success) { var res = m1.Groups[1].Value.CompareTo(m2.Groups[1].Value); if (0 == res) { res = int.Parse(m1.Groups[2].Value).CompareTo(int.Parse(m2.Groups[2].Value)); } return res; } else { return n1.CompareTo(n2); } }); return subdirs; }
public virtual DateTime GetOldestImportedFileDate(DateTime lastAcqDate) { // Results files are sorted by LastWriteTime; if (DateTime.MinValue.Equals(lastAcqDate)) { return new FileInfo(_resultsFileList[0]).LastWriteTime; } for (int i = 0; i < _resultsFileList.Count; i++) { DateTime lastWriteTime = new FileInfo(_resultsFileList[i]).LastWriteTime; if (lastWriteTime.CompareTo(lastAcqDate) > 0) { return lastWriteTime; } } return lastAcqDate; }