| FunctionsUpdateAsync Method |
Linkar Framework .NET (Core and Framework)
Update one or several records of a file, in a asynchronous way with XML input and output format.
Namespace: Linkar.Functions.Direct.XMLAssembly: Linkar.Functions.Direct.XML (in Linkar.Functions.Direct.XML.dll) Version: 2.3.1
Syntax public static Task<string> UpdateAsync(
CredentialOptions credentialOptions,
string filename,
string records,
UpdateOptions updateOptions = null,
FunctionsXML_FORMAT xmlFormat = FunctionsXML_FORMAT.XML,
string customVars = "",
int receiveTimeout = 0
)
Public Shared Function UpdateAsync (
credentialOptions As CredentialOptions,
filename As String,
records As String,
Optional updateOptions As UpdateOptions = Nothing,
Optional xmlFormat As FunctionsXML_FORMAT = FunctionsXML_FORMAT.XML,
Optional customVars As String = "",
Optional receiveTimeout As Integer = 0
) As Task(Of String)
public:
static Task<String^>^ UpdateAsync(
CredentialOptions^ credentialOptions,
String^ filename,
String^ records,
UpdateOptions^ updateOptions = nullptr,
FunctionsXML_FORMAT xmlFormat = FunctionsXML_FORMAT::XML,
String^ customVars = L"",
int receiveTimeout = 0
)
static member UpdateAsync :
credentialOptions : CredentialOptions *
filename : string *
records : string *
?updateOptions : UpdateOptions *
?xmlFormat : FunctionsXML_FORMAT *
?customVars : string *
?receiveTimeout : int
(* Defaults:
let _updateOptions = defaultArg updateOptions null
let _xmlFormat = defaultArg xmlFormat FunctionsXML_FORMAT.XML
let _customVars = defaultArg customVars ""
let _receiveTimeout = defaultArg receiveTimeout 0
*)
-> Task<string>
Parameters
- credentialOptions CredentialOptions
- Object with data necessary to access the Linkar Server: Username, Password, EntryPoint, Language, FreeText.
- filename String
- Name of the file being updated.
- records String
- Buffer of record data to update. Inside this string are the recordIds, the modified records, and the originalRecords.
- updateOptions UpdateOptions (Optional)
- Object with write options, including optimisticLockControl, readAfter, calculated, dictionaries, conversion, formatSpec, originalRecords.
- xmlFormat FunctionsXML_FORMAT (Optional)
- Different XML output formats.
- customVars String (Optional)
- Free text sent to the database allows management of additional behaviours in SUB.LK.MAIN.CONTROL.CUSTOM, which is called when this parameter is set.
- receiveTimeout Int32 (Optional)
- Maximum time in seconds that the client will wait for a response from the server. Default = 0 to wait indefinitely.
Return Value
TaskStringThe results of the operation.
Remarks
Inside the records argument, the recordIds and the modified records always must be specified. But the originalRecords not always.
When
updateOptions argument is specified and the
OptimisticLockControl property is set to true, a copy of the record must be provided before the modification (originalRecords argument)
to use the Optimistic Lock technique. This copy can be obtained from a previous
ReadAsync(CredentialOptions, String, String, String, ReadOptions, FunctionsXML_FORMAT, String, Int32) operation. The database, before executing the modification,
reads the record and compares it with the copy in originalRecords, if they are equal the modified record is executed.
But if they are not equal, it means that the record has been modified by other user and its modification will not be saved.
The record will have to be read, modified and saved again.
Example using Linkar;
using Linkar.Functions.Direct.XML;
class Test
{
public string MyUpdate()
{
string result = "";
try
{
CredentialOptions credentials = new CredentialOptions("127.0.0.1", "EPNAME", 11300, "admin", "admin");
result = Functions.UpdateAsync(credentials, "LK.CUSTOMERS",
"<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
"<LINKAR>" +
" <RECORDS>" +
" <RECORD>" +
" <LKITEMID>2</LKITEMID>" +
" <NAME>CUSTOMER 2</NAME>" +
" <ADDR>ADDRESS 2</ADDR>" +
" <PHONE>444</PHONE>" +
" </RECORD>" +
" </RECORDS>" +
"</LINKAR>").Result;
}
catch (Exception ex)
{
string error = ex.Message;
}
return result;
}
}
Imports Linkar
Imports Linkar.Functions.Direct.XML
Class Test
Public Function MyUpdate() As String
Dim result As String = ""
Try
Dim credentials As CredentialOptions = New CredentialOptions("127.0.0.1", "EPNAME", 11300, "admin", "admin")
result = Functions.UpdateAsync(credentials, "LK.CUSTOMERS",
"<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
"<LINKAR>" +
" <RECORDS>" +
" <RECORD>" +
" <LKITEMID>2</LKITEMID>" +
" <NAME>CUSTOMER 2</NAME>" +
" <ADDR>ADDRESS 2</ADDR>" +
" <PHONE>444</PHONE>" +
" </RECORD>" +
" </RECORDS>" +
"</LINKAR>").Result
Catch ex As Exception
Dim[error] As String = ex.Message
End Try
Return result
End Function
End Class
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also