/// <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);
        }
Пример #3
0
        /// <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());
 }