public IEnumerable<byte[]> GetAllIdentifiersInFolderCreatedBefore(DateTime createdBefore)
{
foreach (string firstByteDirectory in Directory.GetDirectories(_path))
{
byte firstByte;
try
{
firstByte = byte.Parse(new DirectoryInfo(firstByteDirectory).Name, NumberStyles.AllowHexSpecifier);
}
catch (Exception ex)
{
if (log.IsErrorEnabled) log.Error("Exception occured decoding first-byte directory", ex);
continue;
}
foreach (string secondByteDirectory in Directory.GetDirectories(firstByteDirectory))
{
byte secondByte;
try
{
secondByte = byte.Parse(new DirectoryInfo(secondByteDirectory).Name, NumberStyles.AllowHexSpecifier);
}
catch (Exception ex)
{
if (log.IsErrorEnabled) log.Error("Exception occured decoding second-byte directory", ex);
continue;
}
foreach (string file in Directory.GetFiles(secondByteDirectory))
{
var fileInfo = new FileInfo(file);
if (fileInfo.CreationTime > createdBefore) continue;
byte[] identifier;
try
{
identifier = CreateIdentifier(firstByte, secondByte, Path.GetFileNameWithoutExtension(file));
}
catch (Exception ex)
{
if (log.IsErrorEnabled) log.Error(string.Format("Exception occured decoding identifier for file: {0}", file), ex);
continue;
}
yield return identifier;
}
}
}
}