public void DeleteFolder(string path) { _logger.Info("Attempting to send '{0}' to recycling bin", path); var recyclingBin = _configService.RecycleBin; if (string.IsNullOrWhiteSpace(recyclingBin)) { _logger.Info("Recycling Bin has not been configured, deleting permanently. {0}", path); _diskProvider.DeleteFolder(path, true); _logger.Debug("Folder has been permanently deleted: {0}", path); } else { var destination = Path.Combine(recyclingBin, new DirectoryInfo(path).Name); _logger.Debug("Moving '{0}' to '{1}'", path, destination); _diskTransferService.TransferFolder(path, destination, TransferMode.Move); _logger.Debug("Setting last accessed: {0}", path); _diskProvider.FolderSetLastWriteTime(destination, DateTime.UtcNow); foreach (var file in _diskProvider.GetFiles(destination, SearchOption.AllDirectories)) { if (OsInfo.IsWindows) { //TODO: Better fix than this for non-Windows? _diskProvider.FileSetLastWriteTime(file, DateTime.UtcNow); } } _logger.Debug("Folder has been moved to the recycling bin: {0}", destination); } }
public void SetFolderLastWriteTime(string path, DateTime time) { if (OsInfo.IsWindows) { _logger.Debug("Setting last write time on series folder: {0}", path); _diskProvider.FolderSetLastWriteTime(path, time); } }
private void SetFolderLastWriteTime(String path, DateTime time) { if (OsInfo.IsMono) { return; } _logger.Debug("Setting last write time on series folder: {0}", path); _diskProvider.FolderSetLastWriteTime(path, time); }