public PhysicalFileOrganizer(FilesOrganizerOptions options, IFileMover mover, IFileEnumerator enumerator, IMapper mapper) { this.Options = options ?? throw new ArgumentNullException(nameof(options)); this.FileMover = mover ?? throw new ArgumentNullException(nameof(mover)); this.FileEnumerator = enumerator ?? throw new ArgumentNullException(nameof(enumerator)); this.Mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); }
public IFilesOrganizer Create(FilesOrganizerOptions options) { var mapper = new PatternBasedPathMapper(options); var fileMover = new PhysicalFileMover(this.logger); var enumerator = new PhysicalFileEnumerator(); return(new PhysicalFileOrganizer(options, fileMover, enumerator, mapper)); }
private static FileType GetFileType(FilesOrganizerOptions options, string filename) { string extension = Path.GetExtension(filename).ToLowerInvariant(); FileType result; if (options.ImageFileFormatPatterns.Contains(extension)) { result = FileType.Image; } else if (options.VideoFileFormatPatterns.Contains(extension)) { result = FileType.Movie; } else { result = FileType.Unknown; } return(result); }
public PatternBasedPathMapper(FilesOrganizerOptions options) : base(options) { this.pattern = options.DestinationPattern ?? throw new ArgumentNullException(nameof(pattern)); }
public Mapper(FilesOrganizerOptions options) { this.options = options ?? throw new ArgumentNullException(nameof(options)); }