/// <summary> /// Constructor. /// </summary> /// <param name="backupFilesystemNameParser"> /// Parser to delegate <see cref="IBackupFilesystemNameParser"/>'s method calls to. /// </param> /// <param name="endOfPeriodCalculator"> /// Optional; if null, <see cref="GetPeriodEnd"/> will always return null /// </param> public TimePeriodFromFilesystemNameExtractor(IBackupFilesystemNameParser backupFilesystemNameParser, Func <DateTime, DateTime> endOfPeriodCalculator) { Check.DoRequireArgumentNotNull(backupFilesystemNameParser, "BackupFilesystemNameParser"); BackupFilesystemNameParser = backupFilesystemNameParser; EndOfPeriodCalculator = endOfPeriodCalculator; }
public static TimePeriodFromFilesystemNameExtractor CreateForCalendarMonths(IBackupFilesystemNameParser nameParser) { return(new TimePeriodFromFilesystemNameExtractor(nameParser, (t) => t.AddMonths(1))); }