private ImportParameters PrepareImportParameters(ImportParameters importParameters, ImportDataChunk <EntityChunkData> chunk) { var processedRowIndexes = new HashSet <uint>(); if (chunk.State == ImportChunkState.InProcess) { var processedRowResult = _importEntitiesChunksDataProvider.GetProcessedRows(chunk.ChunkId); chunk.Data.SuccessProcessedEntityCount = processedRowResult.Count(i => i.Success == true); chunk.Data.ProcessedWithErrorEntityCount = processedRowResult.Count() - chunk.Data.SuccessProcessedEntityCount; _successProcessedRowsCount += (uint)chunk.Data.SuccessProcessedEntityCount; _processedWithErrorRowsCount += (uint)chunk.Data.ProcessedWithErrorEntityCount; processedRowIndexes.AddRange(processedRowResult.Select(i => (uint)i.RowIndex)); } var chunkEntities = chunk.Data.Entities .Where(e => !processedRowIndexes.Contains(e.RowIndex)) .Select(RestoreImportEntity).ToList(); ImportParameters newImportParameters = importParameters.Clone(); newImportParameters.ChunkId = chunk.ChunkId; newImportParameters.SetEntities(chunkEntities); return(newImportParameters); }