Example #1
0
        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);
            }
        }
Example #2
0
 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);
        }