/// <inheritdoc /> public async Task ScanDirectoryAsync(string scanPath, CancellationToken?cancellationToken = null) { var files = _fileScanner.ScanMovie(scanPath).ToList(); var totalItems = files.Count; for (var i = 0; i < files.Count; i++) { if (cancellationToken?.IsCancellationRequested == true) { break; } await ScanFileAsync(files[i]); OnProgressChanged(i, totalItems); } }