Click or drag to resize

FunctionsDeleteAsync Method

Linkar Framework for .NET and Core


Deletes one or several records in file, in a asynchronous way with JSON input and output format.

Namespace: Linkar.Functions.Direct.JSON
Assembly: Linkar.Functions.Direct.JSON (in Linkar.Functions.Direct.JSON.dll) Version: 2.3.1
Syntax
public static Task<string> DeleteAsync(
	CredentialOptions credentialOptions,
	string filename,
	string records,
	DeleteOptions deleteOptions = null,
	string customVars = "",
	int receiveTimeout = 0
)

Parameters

credentialOptions  CredentialOptions
Object with data necessary to access the Linkar Server: Username, Password, EntryPoint, Language, FreeText.
filename  String
The file name where the records are going to be deleted. DICT in case of deleting a record that belongs to a dictionary.
records  String
Buffer of records to be deleted.
deleteOptions  DeleteOptions  (Optional)
Object with options to manage how records are deleted, including optimisticLockControl, recoverRecordIdType.
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 always must be specified. But the originalRecords not always. When deleteOptions argument is specified and the OptimisticLockControl property is set to true, a copy of the record must be provided before the deletion (originalRecords argument) to use the Optimistic Lock technique. This copy can be obtained from a previous ReadAsync(CredentialOptions, String, String, String, ReadOptions, FunctionsJSON_FORMAT, String, Int32) operation. The database, before executing the deletion, reads the record and compares it with the copy in originalRecords, if they are equal the record is deleted. But if they are not equal, it means that the record has been modified by other user and the record will not be deleted. The record will have to be read, and deleted again.
Example
using Linkar;
using Linkar.Functions.Direct.JSON;

class Test
    {
        public string MyDelete()
        {
            string result = "";
            try
            {
                CredentialOptions credentials = new CredentialOptions("127.0.0.1", "EPNAME", 11300, "admin", "admin");

                result = Functions.DeleteAsync(credentials, "LK.CUSTOMERS",
                    "{" +
                    "  \"RECORDS\": [" +
                    "    {" +
                    "      \"LKITEMID\": \"2\"" +
                    "    }" +
                    "  ]" +
                    "}").Result;
            }
            catch (Exception ex)
            {
                string error = ex.Message;
                // Do something
            }
            return result;
        }
    }
See Also