public CatalogElementContainer GetEPiElements(List <StructureEntity> structureEntities) { _epiElementContainer = new CatalogElementContainer(); var totalLoaded = 0; var batchSize = _config.BatchSize; do { var batch = structureEntities.Skip(totalLoaded).Take(batchSize).ToList(); AddNodeElements(batch); AddEntryElements(batch); AddRelationElements(structureEntities); totalLoaded += batch.Count; IntegrationLogger.Write(LogLevel.Debug, $"Fetched {totalLoaded} of {structureEntities.Count} total"); }while (structureEntities.Count > totalLoaded); return(_epiElementContainer); }
public XDocument CreateImportDocument(Entity channelEntity, XElement metaClasses, XElement associationTypes, CatalogElementContainer epiElements) { var catalogElement = _catalogElementFactory.CreateCatalogElement(channelEntity); var baseElements = CreateBaseCatalogDocumentNodes(channelEntity, epiElements.Nodes, epiElements.Entries, epiElements.Relations, epiElements.Associations); catalogElement.Add(baseElements); return(CreateDocument(catalogElement, metaClasses, associationTypes)); }