Получение списка справочников
Пример показывает, как получить список справочников хранилища средствами клиентской библиотеки
Ascon.Polynom.Web.Api.Client. Проект — Samples.WebApi.GetReferences.
Требования
- .NET 8.
- Запущенный web-сервер ПОЛИНОМ:MDM с доступным хранилищем.
- Пакет
Ascon.Polynom.Web.Api.Clientиз локального фида (подключается автоматически).
Алгоритм
- Авторизоваться в web-API.
- Получить список справочников.
- Обработать результат (например, отсортировать по имени).
- Выйти из сессии.
Авторизация
Авторизация выполняется хелпером PolynomClientSession поверх
AuthorizationService.
Подробно — в разделе
Авторизация в C# через клиентскую библиотеку.
Реализация
Список справочников возвращает метод GetAll сервиса
ReferenceApiClient.
Ниже результат не печатается, а преобразуется в отсортированный список имён, пригодный для выбора
или дальнейшей обработки.
using Samples.WebApi.Common.Services;
using var session = await PolynomClientSession.CreateAsync(cancellationToken);
var references = await session.Factory.CreateReferenceApiClient().GetAll(cancellationToken);
// Имена справочников, отсортированные по алфавиту.
var referenceNames = (references ?? new())
.Select(reference => reference.Name)
.OrderBy(name => name, StringComparer.CurrentCulture)
.ToList();
await session.SignOutAsync(cancellationToken);
Используемые методы библиотеки
| Сервис | Метод | Назначение |
|---|---|---|
ReferenceApiClient |
GetAll(CancellationToken) |
Список справочников хранилища |
Результат
references содержит объекты справочников, а referenceNames — отсортированный список их имён
(в тестовом хранилище — «Классификатор ЕСКД», «Справочник материалов», «Документы проекта»).
Возможные ошибки
- Пустой список — в хранилище нет справочников; обработайте пустую коллекцию.
- Сессия истекла — библиотека обновит токен и повторит запрос; при неудаче требуется повторный вход.
Ссылки
Пример-приложение в составе SDK: SDK/Web/Samples/Server/Samples.WebApi.GetReferences.