public virtual void UpdateEntityCollection(EntityCollection entityCollection, EntitySchema entitySchema) { string GetDebugInfo(Entity source) { var info = new System.Text.StringBuilder(); try { info.Append(source.SchemaName); info.Append($" ({source.Schema.PrimaryColumn.Name}: [{source.PrimaryColumnValue}])"); } catch (Exception) { } return(info.ToString()); } foreach (Entity entity in entityCollection) { try { foreach (KeyValuePair <string, object> columnValue in RecordColumnValues.Values) { EntitySchemaColumn column = entitySchema.GetSchemaColumnByMetaPath(columnValue.Key); object value = columnValue.Value; if (ProcessUserTaskUtilities.GetIsEmptyLookupOrDateTimeValue(value, column.DataValueType)) { value = null; } entity.SetColumnValue(column, value); } entity.UseAdminRights = false; entity.Save(false); } catch (Exception e) { string debugInfo = GetDebugInfo(entity); Log.Error("An error occurred during process element {this} when updating an entity {debugInfo}", e); } } }
public virtual void FillRowWithData(Entity entity) { foreach (var columnValue in RecordDefValues.Values) { var column = entity.Schema.GetSchemaColumnByMetaPath(columnValue.Key); object value = columnValue.Value; if (ProcessUserTaskUtilities.GetIsEmptyLookupOrDateTimeValue(value, column.DataValueType)) { continue; } entity.SetColumnValue(column, value); } }
public virtual void FillRowWithDataByFilter(Entity entity, Entity filterEntity, Dictionary <string, string> entityColumnMap) { FillRowWithData(entity); foreach (var columnValue in RecordDefValues.FetchMetaPathes) { var column = entity.Schema.GetSchemaColumnByMetaPath(columnValue.Key); EntitySchemaColumn filterColumn = filterEntity.Schema.GetSchemaColumnByPath(entityColumnMap[columnValue.Value]); var filterValue = filterEntity.GetColumnValue(filterColumn); if (filterValue != null) { if (ProcessUserTaskUtilities.GetIsEmptyLookupOrDateTimeValue(filterValue, column.DataValueType)) { continue; } entity.SetColumnValue(column, filterValue); } } }
public virtual void UpdateEntityCollection(EntityCollection entityCollection, EntitySchema entitySchema) { foreach (var entity in entityCollection) { try { foreach (KeyValuePair <string, object> columnValue in RecordColumnValues.Values) { EntitySchemaColumn column = entitySchema.GetSchemaColumnByMetaPath(columnValue.Key); object value = columnValue.Value; if (ProcessUserTaskUtilities.GetIsEmptyLookupOrDateTimeValue(value, column.DataValueType)) { value = null; } entity.SetColumnValue(column, value); } entity.UseAdminRights = false; entity.Save(false); } catch (Exception e) { Log.Error(e); } } }