public override Folder Add(Folder folderToAdd) { folderToAdd.FolderId = folderIndex++; using (var indexService = new IndexService(directoryIndexWriter)) { IndexResult indexResult = indexService.IndexEntity(folderToAdd, new FolderIndexDefinition()); } return folderToAdd; }
public override Folder Add(Folder folderToAdd) { folderToAdd.FolderId = folderIndex++; string folderJson = JsonConvert.SerializeObject(folderToAdd); using (var stream = new System.IO.StreamWriter(pathToJsonFile, append: true)) { stream.WriteLine(folderJson); stream.Close(); } //Folders.Add(folderToAdd); return folderToAdd; }
public override Folder Add(Folder folderToAdd) { folderToAdd.FolderId = folderIndex++; folders.Add(folderToAdd); if (reachedBatchSize != null) { numberOfFoldersInCurrentBatch++; if (batchSize != 0 && numberOfFoldersInCurrentBatch >= batchSize) { reachedBatchSize(folders); numberOfFoldersInCurrentBatch = 0; folders.Clear(); } } return folderToAdd; }
public void ScanFolder(System.IO.DirectoryInfo directoryInfo, FolderToScan folderToScan, int? parentFolderId = null) { try { var folder = new Folder { Name = directoryInfo.Name, Path = directoryInfo.FullName.Replace(folderToScan.AbsolutePath, folderToScan.PathAlias), ParentFolderId = parentFolderId }; folderRepository.Add(folder); Logger.Trace("Added folder " + folder.Path); var fileInfos = directoryInfo.EnumerateFiles("*", System.IO.SearchOption.TopDirectoryOnly); var files = new List<Models.File>(); foreach (var fileInfo in fileInfos) { try { var file = new Models.File { Name = fileInfo.Name, Path = fileInfo.FullName.Replace(folderToScan.AbsolutePath, folderToScan.PathAlias), Size = fileInfo.Length, FolderId = folder.FolderId, CreatedTime = fileInfo.CreationTime, LastAccessTime = fileInfo.LastAccessTime, LastWriteTime = fileInfo.LastWriteTime }; files.Add(file); Logger.Trace("Added file " + file.Name); } catch (System.IO.PathTooLongException ex) { // TODO: Handle these (very common) errors } catch (Exception ex) { Logger.ErrorException("Error scanning file " + fileInfo.FullName, ex); } } fileRepository.Add(files); foreach (var subDirectory in directoryInfo.EnumerateDirectories("*", System.IO.SearchOption.TopDirectoryOnly)) { ScanFolder(subDirectory, folderToScan, parentFolderId = folder.FolderId); } } catch (System.IO.PathTooLongException ex) { // TODO: Handle these (very common) errors } catch (Exception ex) { Logger.ErrorException("Error scanning directory " + directoryInfo.FullName, ex); } }
public abstract Folder Add(Folder folderToAdd);