/// <inheritdoc cref="BaseColumnProcessor"/> /// <summary> /// Finds processed value. /// </summary> /// <param name="destination">Import column destination.</param> /// <param name="columnValue">Import column value.</param> /// <returns>Processed value.</returns> public object FindValueForSave(ImportColumnDestination destination, ImportColumnValue columnValue) { EntitySchema entitySchema = UserConnection.EntitySchemaManager.GetInstanceByUId(destination.SchemaUId); EntitySchemaColumn column = entitySchema.Columns.GetByName(destination.ColumnName); return(TextColumnHelper.PrepareTextColumnValue((TextDataValueType)column.DataValueType, columnValue.Value)); }
/// <summary> /// Creates entity. /// </summary> /// <param name="entitySchemaUId">Entity schema unique identifier.</param> /// <param name="selectedColumnName">Selected lookup entity schema column name.</param> /// <param name="selectedColumnValue">Selected lookup entity schema column value.</param> /// <returns>Entity identifier.</returns> private Guid?TryCreateEntity(Guid entitySchemaUId, string selectedColumnName, string selectedColumnValue) { var primaryColumnValue = Guid.NewGuid(); var entitySchema = UserConnection.EntitySchemaManager.GetInstanceByUId(entitySchemaUId); var selectedColumn = entitySchema.GetSchemaColumnByPath(selectedColumnName); if (selectedColumn.DataValueType is TextDataValueType) { selectedColumnValue = TextColumnHelper.PrepareTextColumnValue( (TextDataValueType)selectedColumn.DataValueType, selectedColumnValue); } try { var entity = entitySchema.CreateEntity(UserConnection); entity.SetColumnValue(entitySchema.GetPrimaryColumnName(), primaryColumnValue); entity.SetColumnValue(selectedColumnName, selectedColumnValue); entity.SetDefColumnValues(); entity.Save(_validateRequiredColumns); return(primaryColumnValue); } catch (Exception e) { OnProcessError(new LookupValuesProcessorErrorEventArgs(entitySchemaUId, selectedColumnName, selectedColumnValue, e)); return(null); } }