В некоторых случаях, значения свойств персистентных объектов зависят от порядковой нумерации. Сервис нумераторов платформы Xafari позволяет реализовать автоматическую генерацию этих значений при создании нового объекта. Использование этого сервиса  упрощает работу пользователя и снижает вероятность ввода ошибочных данных.

Чтобы ознакомиться с примером использования нумераторов, обратитесь к разделу Main|Documents|Orders в демо-приложении Xafari Northwind, установленном вместе с Xafari.

Windows Forms:

ASP.NET:

Простейшие сценарии использования нумераторов можно настроить как на этапе разработки, так и в процессе развертывания приложения. Вы можете установить начальное значение и шаг для индекса нумератора.

Нумератор содержит свойство Template, которое позволяет задавать формат получаемой строки. При создании нового объекта, значение требуемого свойства может быть сгенерировано в соответствии с этим шаблоном. Шаблон разрабатывается по правилам XafariObjectFormatter. Имеются возможности подстановки в шаблон различных параметров, навигации по свойствам нумеруемого объекта и пр. Разумеется, в шаблон можно подставлять текущий индекс. Индекс может быть отформатирован в соответствии с правилами форматирования чисел.

Сервис обеспечивает возможность Сквозной Нумерации (Through Numeration), которую можно использовать для последовательной нумерации объектов различных типов. Например, единая цепочка номеров может быть использована для всех выходящих документов, таких как накладные, платежки и пр.

Также поддерживается повторное использование номеров удаленных объектов. Это означает, что будут использоваться все номера нумератора. Если некоторый объект был удален, его номер не пропадает, а будет вновь использован при следующем обращении к  сервису нумераторов.

Разработчик бизнес-приложения может создать собственный нумератор со специфической логикой, основанный на имеющемся сервисе нумераторов. Кроме того, сервис нумераторов можно использовать вне XAF-приложения.

В следующих статьях представлена дополнительная информация о Business Numerators.

Design-time features

References