Skip to content

Commit 91d33bf

Browse files
authored
Merge pull request #65 from delegateas/fix/handle-entityname-enum-columns
FIX: Use StringColumnModel to wrap EntityAttribute of type EntityName
2 parents 05452ed + cd6aebb commit 91d33bf

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

src/DataverseProxyGenerator.Core/Metadata/DataverseMetadataFetcher.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ private TableModel BuildTableModelFromMetadata(Dictionary<string, EntityMetadata
223223
DecimalAttributeMetadata decAttr => BuildDecimalColumn(decAttr),
224224
DoubleAttributeMetadata dblAttr => BuildDoubleColumn(dblAttr),
225225
MoneyAttributeMetadata moneyAttr => BuildMoneyColumn(moneyAttr),
226+
EnumAttributeMetadata enumAttribute when enumAttribute.AttributeType == AttributeTypeCode.EntityName => BuildStringColumn(enumAttribute),
226227
EnumAttributeMetadata enumAttr => BuildEnumColumn(enumAttr),
227228
LookupAttributeMetadata lookupAttr when lookupAttr.AttributeType == AttributeTypeCode.PartyList => BuildPartyListColumn(lookupAttr),
228229
LookupAttributeMetadata lookupAttr => BuildLookupColumn(lookupAttr),
@@ -287,6 +288,14 @@ private void AddPrimaryIdColumn(TableModel table, EntityMetadata entityMetadata)
287288
MaxLength = attr.MaxLength,
288289
};
289290

291+
private StringColumnModel BuildStringColumn(EnumAttributeMetadata attr) => new StringColumnModel
292+
{
293+
LogicalName = attr.LogicalName,
294+
SchemaName = attr.SchemaName,
295+
DisplayName = ApplyLabelMapping(attr.DisplayName?.UserLocalizedLabel?.Label ?? attr.LogicalName),
296+
Description = ApplyLabelMapping(attr.Description?.UserLocalizedLabel?.Label ?? string.Empty),
297+
};
298+
290299
private MemoColumnModel BuildMemoColumn(MemoAttributeMetadata attr) => new MemoColumnModel
291300
{
292301
LogicalName = attr.LogicalName,

0 commit comments

Comments
 (0)