Exemplo n.º 1
0
 void CreateIndex(ChangedSource changes, IList <ChangedSource> orderedNeedProcessingChanges)
 {
     if (IsFile(changes.FilePath))
     {
         if (IndexBuilder.CreateIndex(new FileInfo(changes.FilePath)) == IndexBuildResults.FailedWithIOException)
         {
             EnqueueToFailedSource(changes);
         }
     }
     else if (IsDirectory(changes.FilePath))
     {
         foreach (var file in Directory.GetFiles(changes.FilePath, "*", SearchOption.AllDirectories).Where(file =>
                                                                                                           orderedNeedProcessingChanges.All(changedSource => !changedSource.FilePath.Equals(file, StringComparison.InvariantCultureIgnoreCase)) &&
                                                                                                           ChangedSources.All(changedSource => !changedSource.FilePath.Equals(file, StringComparison.InvariantCultureIgnoreCase))))
         {
             Log.LogInformation($"{IndexConfig.IndexName}: Enqueue File {file} Created to changes source");
             EnqueueChangeSource(WatcherChangeTypes.Created, file);
         }
     }
 }