CardExtensionHelperFixUniqueIdentifiersOnClientStoreTaskBeforeRequestAsync - метод

Исправляет список уникальных ссылок, задаваемых идентификаторами любого типа в полях identifierFieldName в коллекционной секции с именем sectionName. Под уникальностью ссылки подразумевается, что в одну и ту же карточку не может быть добавлено более одной ссылки с одним и тем же идентификатором. Метод следует вызывать в расширении на сохранение задания в методе StoreTaskBeforeRequest(ICardStoreTaskExtensionContext) на клиенте.

Definition

Пространство имён: Tessa.Cards.Extensions
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public static ValueTask FixUniqueIdentifiersOnClientStoreTaskBeforeRequestAsync(
	ICardStoreTaskExtensionContext context,
	string sectionName,
	string identifierFieldName,
	string? parentRowIDFieldName = null,
	string? orderFieldName = null,
	Func<IList<CardRow>, CardRow, CancellationToken, ValueTask>? removeRowFuncAsync = null,
	CancellationToken cancellationToken = default
)

Параметры

context  ICardStoreTaskExtensionContext
Контекст расширения на сохранение задания.
sectionName  String
Имя коллекционной секции, которая содержит список идентификаторов.
identifierFieldName  String
Имя поля в секции sectionName, которое содержит идентификатор любого типа, уникальность которого требуется обеспечить в пределах карточки.
parentRowIDFieldName  String  (Optional)
Имя поля в секции sectionName, которое содержит идентификатор родительской строки, уникальность которого требуется обеспечить в пределах задания, или null, если секция sectionName не является дочерней.
orderFieldName  String  (Optional)
Имя поля для сортировки в строках карточки или null, если поле не задано.
removeRowFuncAsync  FuncIListCardRow, CardRow, CancellationToken, ValueTask  (Optional)
Функция, выполняющая удаление указанной строки из коллекции строк, или null, если строка удаляется обычным образом. Переопределять удаление имеет смысл на клиенте, где также требуется удалить дочерние строки из структуры карточки.
cancellationToken  CancellationToken  (Optional)
Объект, посредством которого можно отменить асинхронную задачу.

Возвращаемое значение

ValueTask
Асинхронная задача.

Заметки

Метод гарантирует, что если пользователь удалит и тут же добавит строку с таким же идентификатором в поле identifierFieldName, то удалённая не будет удалена, а новая строка не будет добавлена.

Рекомендуется использовать метод в случае, если в секции sectionName есть уникальный индекс на идентификатор задания и идентификатор в поле identifierFieldName.

См. также