public static ValueTask<bool> FixUniqueIdentifiersAsync(
ListStorage<CardRow> rows,
string[] identifierFieldNames,
string parentIdentifierFieldName = null,
string orderFieldName = null,
bool removeDuplicates = true,
Func<IList<CardRow>, CardRow, CancellationToken, ValueTask> removeRowFuncAsync = null,
CancellationToken cancellationToken = default
)
Public Shared Function FixUniqueIdentifiersAsync (
rows As ListStorage(Of CardRow),
identifierFieldNames As String(),
Optional parentIdentifierFieldName As String = Nothing,
Optional orderFieldName As String = Nothing,
Optional removeDuplicates As Boolean = true,
Optional removeRowFuncAsync As Func(Of IList(Of CardRow), CardRow, CancellationToken, ValueTask) = Nothing,
Optional cancellationToken As CancellationToken = Nothing
) As ValueTask(Of Boolean)
public:
static ValueTask<bool> FixUniqueIdentifiersAsync(
ListStorage<CardRow^>^ rows,
array<String^>^ identifierFieldNames,
String^ parentIdentifierFieldName = nullptr,
String^ orderFieldName = nullptr,
bool removeDuplicates = true,
Func<IList<CardRow^>^, CardRow^, CancellationToken, ValueTask>^ removeRowFuncAsync = nullptr,
CancellationToken cancellationToken = CancellationToken()
)
static member FixUniqueIdentifiersAsync :
rows : ListStorage<CardRow> *
identifierFieldNames : string[] *
?parentIdentifierFieldName : string *
?orderFieldName : string *
?removeDuplicates : bool *
?removeRowFuncAsync : Func<IList<CardRow>, CardRow, CancellationToken, ValueTask> *
?cancellationToken : CancellationToken
(* Defaults:
let _parentIdentifierFieldName = defaultArg parentIdentifierFieldName null
let _orderFieldName = defaultArg orderFieldName null
let _removeDuplicates = defaultArg removeDuplicates true
let _removeRowFuncAsync = defaultArg removeRowFuncAsync null
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> ValueTask<bool>
Метод гарантирует, что если пользователь удалит и тут же добавит строку с таким же идентификатором, то удалённая не будет удалена, а новая строка не будет добавлена.
Рекомендуется использовать метод в случае, если в секции есть необходимые уникальные индексы.