DefaultProperty for IDCSecuritySystemUser

StatusIDPriorityType
Closed32457MajorQuestion
ProfileReply
Maytoni ITClient

Добрый день, для добавления новых полей в объект пользователя использован подход который виден на скриншоте.
Вопрос в том что сейчас везде используется в качестве значения используется UserName, а нужно что бы везде отображалось содержимое поля Name.
Атрибут XafDefaultProperty выставленный для IDCInheritedUser игнорируется.
Как на это можно повлиять?

Attached files:

Replies

UserDescriptionPosted On
MariyaVoytovichAgent

Здравствуйте Maytoni IT!

Дело в том что атрибут XafDefaultProperty применяется к сущности, а в вашем случае Вы пытаетесь применить к расширению сущность, что является не верным.
Мы впервые сталкиваемся с такой проблемой и пока у нас нет готового решения.
Мы постараемся решить эту проблему.

С Уважением,
Мария,
От имени команды клиентов Xafari Client Services

MariyaVoytovichAgent

Здравствуйте Maytoni IT!

Атрибут XafDefaultProperty можно изменить с помощью перегрузки метода CustomizeTypesInfo в модуле проекта.

public override void CustomizeTypesInfo(ITypesInfo typesInfo)
{
base.CustomizeTypesInfo(typesInfo);var iDCSecuritySystemUserTypeInfo = typesInfo.FindTypeInfo(typeof(IDCSecuritySystemUser)) as BaseInfo;
if (iDCSecuritySystemUserTypeInfo == null) return;
if (iDCSecuritySystemUserTypeInfo.FindAttribute() != null)
{
iDCSecuritySystemUserTypeInfo.RemoveAttributes();
}
iDCSecuritySystemUserTypeInfo.AddAttribute(new XafDefaultPropertyAttribute("__NorthWindUserExtension.Name"));
}

Обратите внимание что в данном случае мы работаем с атрибутами принадлежащими к самой сущности IDCSecuritySystemUser, а не с ее расширениями.
Обращение к свойствам расширений происходит через специальное вычисляемое имя (См. документацию eXtensions Framework. Manipulations в разделе Extensions in Application Model)

Так же для получения имени расширения вы можете использовать выражение:

typeof(IDCInheritedUser).Xafari().XF().EntityExtensionInfo.GetCalculatedExtensionPropertyName();

С Уважением,
Мария,
От имени команды клиентов Xafari Client Services

× This ticket is closed.

Write US