Table of Contents

Получение списка справочников

Пример показывает, как получить список справочников хранилища средствами клиентской библиотеки Ascon.Polynom.Web.Api.Client. Проект — Samples.WebApi.GetReferences.

Требования

  • .NET 8.
  • Запущенный web-сервер ПОЛИНОМ:MDM с доступным хранилищем.
  • Пакет Ascon.Polynom.Web.Api.Client из локального фида (подключается автоматически).

Алгоритм

  1. Авторизоваться в web-API.
  2. Получить список справочников.
  3. Обработать результат (например, отсортировать по имени).
  4. Выйти из сессии.

Авторизация

Авторизация выполняется хелпером 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.