private List <DataSourceModelFieldMeta> ProcessFieldsMeta(List <EqlFieldMeta> fields) { List <DataSourceModelFieldMeta> result = new List <DataSourceModelFieldMeta>(); if (fields == null) { return(result); } foreach (var fieldMeta in fields) { DataSourceModelFieldMeta dsMeta = new DataSourceModelFieldMeta(); dsMeta.EntityName = string.Empty; if (fieldMeta.Relation != null) { dsMeta.Name = "$" + fieldMeta.Relation.Name; dsMeta.Type = FieldType.RelationField; } if (fieldMeta.Field != null) { dsMeta.Name = fieldMeta.Field.Name; dsMeta.Type = fieldMeta.Field.GetFieldType(); } dsMeta.Children.AddRange(ProcessFieldsMeta(fieldMeta.Children)); result.Add(dsMeta); } return(result); }
public EntityRecordListToSelectOptionConverter() : base() { Id = new Guid("12dcdf08-af03-4347-8015-bd9bace17514"); Name = "EntityRecordToSelectOptions"; Description = "Mapper for EntityRecord to SelectOption"; ResultModel = "List<SelectOption>"; //define custom meta DataSourceModelFieldMeta dsMeta = new DataSourceModelFieldMeta(); dsMeta.EntityName = string.Empty; dsMeta.Name = "value"; dsMeta.Type = FieldType.TextField; Fields.Add(dsMeta); dsMeta = new DataSourceModelFieldMeta(); dsMeta.EntityName = string.Empty; dsMeta.Name = "label"; dsMeta.Type = FieldType.TextField; Fields.Add(dsMeta); dsMeta = new DataSourceModelFieldMeta(); dsMeta.EntityName = string.Empty; dsMeta.Name = "icon_class"; dsMeta.Type = FieldType.TextField; Fields.Add(dsMeta); dsMeta = new DataSourceModelFieldMeta(); dsMeta.EntityName = string.Empty; dsMeta.Name = "color"; dsMeta.Type = FieldType.TextField; Fields.Add(dsMeta); Parameters.Add(new DataSourceParameter { Name = "DataSourceName", Type = "text", Value = "" }); Parameters.Add(new DataSourceParameter { Name = "KeyPropName", Type = "text", Value = "id" }); Parameters.Add(new DataSourceParameter { Name = "ValuePropName", Type = "text", Value = "label" }); Parameters.Add(new DataSourceParameter { Name = "Value1PropName", Type = "text", Value = "label1" }); Parameters.Add(new DataSourceParameter { Name = "Value2PropName", Type = "text", Value = "label2" }); Parameters.Add(new DataSourceParameter { Name = "IconClassPropName", Type = "text", Value = "icon_class" }); Parameters.Add(new DataSourceParameter { Name = "ColorPropName", Type = "text", Value = "color" }); Parameters.Add(new DataSourceParameter { Name = "SortOrderPropName", Type = "text", Value = "" }); Parameters.Add(new DataSourceParameter { Name = "SortTypePropName", Type = "text", Value = "asc" }); }