CardExtensionHelperFixUniqueIdentifiersOnClientStoreTaskBeforeRequestAsync - метод |
Исправляет список уникальных ссылок, задаваемых идентификаторами любого типа в полях
identifierFieldName в коллекционной секции с именем
sectionName.
Под уникальностью ссылки подразумевается, что в одну и ту же карточку не может быть добавлено
более одной ссылки с одним и тем же идентификатором.
Метод следует вызывать в расширении на сохранение задания в методе
StoreTaskBeforeRequest(ICardStoreTaskExtensionContext) на клиенте.
Пространство имён:
Tessa.Cards.Extensions
Сборка:
Tessa (в Tessa.dll) Версия: 3.5.0.19
Синтаксис 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
)
Public Shared Function FixUniqueIdentifiersOnClientStoreTaskBeforeRequestAsync (
context As ICardStoreTaskExtensionContext,
sectionName As String,
identifierFieldName As String,
Optional parentRowIDFieldName As String = Nothing,
Optional orderFieldName As String = Nothing,
Optional removeRowFuncAsync As Func(Of IList(Of CardRow), CardRow, CancellationToken, ValueTask) = Nothing,
Optional cancellationToken As CancellationToken = Nothing
) As ValueTask
public:
static ValueTask FixUniqueIdentifiersOnClientStoreTaskBeforeRequestAsync(
ICardStoreTaskExtensionContext^ context,
String^ sectionName,
String^ identifierFieldName,
String^ parentRowIDFieldName = nullptr,
String^ orderFieldName = nullptr,
Func<IList<CardRow^>^, CardRow^, CancellationToken, ValueTask>^ removeRowFuncAsync = nullptr,
CancellationToken cancellationToken = CancellationToken()
)
static member FixUniqueIdentifiersOnClientStoreTaskBeforeRequestAsync :
context : ICardStoreTaskExtensionContext *
sectionName : string *
identifierFieldName : string *
?parentRowIDFieldName : string *
?orderFieldName : string *
?removeRowFuncAsync : Func<IList<CardRow>, CardRow, CancellationToken, ValueTask> *
?cancellationToken : CancellationToken
(* Defaults:
let _parentRowIDFieldName = defaultArg parentRowIDFieldName null
let _orderFieldName = defaultArg orderFieldName null
let _removeRowFuncAsync = defaultArg removeRowFuncAsync null
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> ValueTask
Параметры
- context
- Тип: Tessa.Cards.ExtensionsICardStoreTaskExtensionContext
Контекст расширения на сохранение задания. - sectionName
- Тип: SystemString
Имя коллекционной секции, которая содержит список идентификаторов. - identifierFieldName
- Тип: SystemString
Имя поля в секции sectionName, которое содержит идентификатор любого типа,
уникальность которого требуется обеспечить в пределах карточки.
- parentRowIDFieldName (Optional)
- Тип: SystemString
Имя поля в секции sectionName, которое содержит идентификатор родительской строки,
уникальность которого требуется обеспечить в пределах задания,
или null, если секция sectionName не является дочерней.
- orderFieldName (Optional)
- Тип: SystemString
Имя поля для сортировки в строках карточки или null, если поле не задано.
- removeRowFuncAsync (Optional)
- Тип: SystemFuncIListCardRow, CardRow, CancellationToken, ValueTask
Функция, выполняющая удаление указанной строки из коллекции строк, или null, если строка удаляется обычным образом.
Переопределять удаление имеет смысл на клиенте, где также требуется удалить дочерние строки из структуры карточки.
- cancellationToken (Optional)
- Тип: System.ThreadingCancellationToken
Объект, посредством которого можно отменить асинхронную задачу.
Возвращаемое значение
Тип:
ValueTaskАсинхронная задача.
Заметки Метод гарантирует, что если пользователь удалит и тут же добавит строку с таким же идентификатором
в поле identifierFieldName, то удалённая не будет удалена, а новая строка не будет добавлена.
Рекомендуется использовать метод в случае, если в секции sectionName есть уникальный индекс
на идентификатор задания и идентификатор в поле identifierFieldName.
См. также