Решение: На вход подаётся List класса BackupDirectoryInfo. Просто DirectoryInfo не используется, так как в качестве хранилища бэкапа используются и файловые ресурсы, и облачные хранилища. Если требуется использовать только папки на физическом диске, то можно обойтись одним DirectoryInfo.
public abstract class BackupDirectoryInfo
{
public string Name;
public string Path;
public DateTime CreatedTime;
public abstract void Delete();
}
private void DeleteOldFolder(List<BackupDirectoryInfo> dirs )
{
var orderedList = dirs.OrderByDescending(x => x.CreatedTime)
.Take(15);
var dirToDelete = dirs.Except(orderedList).ToList();
dirToDelete.ForEach(x => x.Delete() );
}
Комментариев нет:
Отправить комментарий