Click or drag to resize

FunctionsUpdatePartialAsync Method

Linkar Framework for .NET and Core


Update one or more attributes of one or more file records, in a asynchronous way with XML input and output format.

Namespace: Linkar.Functions.Direct.XML
Assembly: Linkar.Functions.Direct.XML (in Linkar.Functions.Direct.XML.dll) Version: 2.3.1
Syntax
public static Task<string> UpdatePartialAsync(
	CredentialOptions credentialOptions,
	string filename,
	string records,
	UpdateOptions updateOptions = null,
	FunctionsXML_FORMAT xmlFormat = FunctionsXML_FORMAT.XML,
	string customVars = "",
	int receiveTimeout = 0
)

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

TaskString
The 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 MyUpdatePartial()
        {
            string result = "";
            try
            {
                CredentialOptions credentials = new CredentialOptions("127.0.0.1", "EPNAME", 11300, "admin", "admin");

                result = Functions.UpdatePartialAsync(credentials, "LK.CUSTOMERS",
                    "<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
                    "<LINKAR>" +
                    "  <RECORDS>" +
                    "    <RECORD>" +
                    "      <LKITEMID>2</LKITEMID>" +
                    "      <NAME>CUSTOMER 2</NAME>" +
                    "    </RECORD>" +
                    "  </RECORDS>" +
                    "</LINKAR>").Result;
            }
            catch (Exception ex)
            {
                string error = ex.Message;
                // Do something
            }
            return result;
        }
    }
See Also