Esempio n. 1
0
        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);
         }
     }
 }
Esempio n. 4
0
 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);
         }
     }
 }