public DirectoryContentThreadInfoDto ParseDirectoryContent(string subDirectory) { var fullPath = GetFullPath(subDirectory); var info = new DirectoryContentThreadInfo { FullPath = fullPath }; DoParseDirectoryContent(info); return(info); }
private void DoParseDirectoryContent(DirectoryContentThreadInfo info) { Log.Begin($"{nameof(DoParseDirectoryContent)}.{info.FullPath}"); foreach (Content entity in _physicalFilesParser.ParsePhysicalFiles(info)) { PersistContentEntity(entity); } Log.End($"{nameof(DoParseDirectoryContent)}.{info.FullPath}"); }
public async Task <DirectoryContentThreadInfoDto> ParseDirectoryContentAsync(string subDirectory) { var fullPath = GetFullPath(subDirectory); var info = new DirectoryContentThreadInfo { FullPath = fullPath }; DirectoryContentInfos.ContentInfos.Add(fullPath, info); await Task.Run(() => DoParseDirectoryContent(info)); var retVal = GetThreadInfo(subDirectory); DirectoryContentInfos.ContentInfos.Remove(fullPath); return(retVal); }