/// <summary>
 /// Sets existing entities to import entities.
 /// </summary>
 /// <param name="parameters">Import parameters.</param>
 /// <param name="entities">Existing entities.</param>
 public void Set(ImportParameters parameters, IEnumerable <Entity> entities)
 {
     parameters.CheckArgumentNull(nameof(parameters));
     if (entities.Any())
     {
         ImportParameters = parameters;
         ProcessEntities(entities);
         Logger.SaveLog();
     }
 }
Ejemplo n.º 2
0
        public bool SaveRawImportEntities(ImportParameters parameters)
        {
            parameters.CheckArgumentNull(nameof(parameters));

            if (!UserConnection.GetIsFeatureEnabled("HighestSpeedFileImport"))
            {
                return(true);
            }
            if (!parameters.CanUseImportEntitiesStorage)
            {
                return(true);
            }
            var keyColumns = GetKeyColumns(parameters);

            return(ImportEntitiesDataProvider.SaveImportEntitiesToDB(parameters, keyColumns));
        }
        ///<inheritdoc cref="IPrimaryEntityFinder"/>
        public void LoadPrimaryEntity(ImportParameters parameters, IEnumerable <ImportColumn> keysImportColumns)
        {
            parameters.CheckArgumentNull(nameof(parameters));
            keysImportColumns.CheckArgumentNull(nameof(keysImportColumns));
            if (!keysImportColumns.Any())
            {
                return;
            }
            var entitySchema = GetEntitySchema(parameters.RootSchemaUId);

            foreach (var importEntity in parameters.Entities)
            {
                var filtersParameters = GetFiltersParameters(importEntity, keysImportColumns, entitySchema);
                var entity            = new Entity(UserConnection, parameters.RootSchemaUId);
                try {
                    if (entity.FetchFromDB(filtersParameters, true))
                    {
                        importEntity.PrimaryEntity = entity;
                    }
                } catch (DublicateDataException e) {
                    importEntity.ImportEntityException = e;
                }
            }
        }