public static ValueTask FixUniqueIdentifiersOnClientStoreBeforeRequestAsync(
ICardStoreExtensionContext 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 FixUniqueIdentifiersOnClientStoreBeforeRequestAsync (
context As ICardStoreExtensionContext,
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 FixUniqueIdentifiersOnClientStoreBeforeRequestAsync(
ICardStoreExtensionContext^ context,
String^ sectionName,
String^ identifierFieldName,
String^ parentRowIDFieldName = nullptr,
String^ orderFieldName = nullptr,
Func<IList<CardRow^>^, CardRow^, CancellationToken, ValueTask>^ removeRowFuncAsync = nullptr,
CancellationToken cancellationToken = CancellationToken()
)
static member FixUniqueIdentifiersOnClientStoreBeforeRequestAsync :
context : ICardStoreExtensionContext *
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
Метод гарантирует, что если пользователь удалит и тут же добавит строку с таким же идентификатором в поле identifierFieldName, то удалённая не будет удалена, а новая строка не будет добавлена.
Рекомендуется использовать метод в случае, если в секции sectionName есть уникальный индекс на идентификатор карточки и идентификатор в поле identifierFieldName.