/// <inheritdoc /> public void Process(ImportParameters importParameters) { var lookupChunksData = _importDataProvider.Get(importParameters.ImportSessionId); if (!lookupChunksData.Any()) { lookupChunksData = GetLookupChunkData(importParameters); SaveLookupChunksData(lookupChunksData); } var handler = new ChunkLookupValuesHandler(UserConnection); handler.ProcessError += SendProcessError; try { foreach (var item in lookupChunksData.Where(l => l.State == ImportChunkState.ToProcess)) { if (_importParametersRepository.GetIsImportSessionCanceled(importParameters.ImportSessionId)) { break; } handler.Execute(item); } } finally { handler.ProcessError -= SendProcessError; } _lookupProcessedValues = new LookupProcessedValues(UserConnection); _lookupProcessedValues.RestoreState(JoinLookupProcessedValues(lookupChunksData.Select(c => c.Data.ProcessedValuesState).ToList())); }
public LookupProcessedValues ProcessValues( IEnumerable <KeyValuePair <LookupValuesEntitySchemaColumn, List <string> > > valuesToProcess) { var lookupProcessedValues = new LookupProcessedValues(UserConnection); foreach (var valueToProcess in valuesToProcess) { var entitySchemaUId = valueToProcess.Key.EntitySchemaUId; var selectedColumnName = valueToProcess.Key.Name; IEnumerable <string> selectedColumnValues = valueToProcess.Value; var columnValues = new Dictionary <string, Guid>(); AddExistingLookupValues(columnValues, entitySchemaUId, selectedColumnName, selectedColumnValues); AddNewLookupValues(columnValues, entitySchemaUId, selectedColumnName, selectedColumnValues); lookupProcessedValues.Add(entitySchemaUId, selectedColumnName, columnValues); } return(lookupProcessedValues); }
/// <inheritdoc /> public void Process(ImportParameters importParameters) { var lookupChunksData = GetOrCreateDataChuncks(importParameters); var handler = new ChunkLookupValuesHandler(UserConnection); handler.ProcessError += SendProcessError; try { foreach (var item in lookupChunksData.Where(l => l.State == ImportChunkState.ToProcess)) { if (importParameters.GetIsImportCancelled(UserConnection)) { break; } handler.Execute(item); } } finally { handler.ProcessError -= SendProcessError; } _lookupProcessedValues = new LookupProcessedValues(UserConnection); _lookupProcessedValues.RestoreState(JoinLookupProcessedValues(lookupChunksData.Select(c => c.Data.ProcessedValuesState).ToList())); }
/// <summary> /// Runs column values processing. /// </summary> public void Process() { _results = LookupValuesProcessor.ProcessValues(LookupValuesToProcess.GetItems()); }