public void Move(FilePath destination) { if (destination == null) { throw new ArgumentNullException(nameof(destination)); } if (destination.IsRelative) { throw new ArgumentException("Destination must be absolute", nameof(destination)); } LocalFileProvider.Retry(() => _file.MoveTo(destination.FullPath)); }
public void Copy(FilePath destination, bool overwrite) { if (destination == null) { throw new ArgumentNullException(nameof(destination)); } if (destination.IsRelative) { throw new ArgumentException("Destination must be absolute", nameof(destination)); } LocalFileProvider.Retry(() => _file.CopyTo(destination.FullPath, overwrite)); }
public IEnumerable <IFile> GetFiles(SearchOption searchOption = SearchOption.TopDirectoryOnly) => LocalFileProvider.Retry(() => _directory.GetFiles("*", searchOption).Select(file => new LocalFile(file.FullName)));
public IEnumerable <IDirectory> GetDirectories(SearchOption searchOption = SearchOption.TopDirectoryOnly) => LocalFileProvider.Retry(() => _directory.GetDirectories("*", searchOption).Select(directory => new LocalDirectory(directory.FullName)));
public void Delete(bool recursive) => LocalFileProvider.Retry(() => _directory.Delete(recursive));
public void Create() => LocalFileProvider.Retry(() => _directory.Create());
public Stream Open(FileMode fileMode, FileAccess fileAccess, FileShare fileShare) => LocalFileProvider.Retry(() => _file.Open(fileMode, fileAccess, fileShare));
public Stream OpenWrite() => LocalFileProvider.Retry(() => _file.OpenWrite());
public Stream OpenRead() => LocalFileProvider.Retry(() => _file.OpenRead());
public string ReadAllText() => LocalFileProvider.Retry(() => File.ReadAllText(_file.FullName));
public void Delete() => LocalFileProvider.Retry(() => _file.Delete());