Click or drag to resize
ConnectionDeletePersistentObjectAsync Method
Deletes a persistent object from the data store as an asynchronous operation.

Namespace: Obujekutoru
Assembly: obujekutoru (in obujekutoru.dll) Version: 1.1.0.25794
Syntax
public Task DeletePersistentObjectAsync(
	PersistentObject persistentObject
)

Parameters

persistentObject
Type: ObujekutoruPersistentObject
The persistent object to be deleted.

Return Value

Type: Task
The task object representing the asynchronous operation.
Exceptions
ExceptionCondition
ArgumentNullExceptionPersistent object is null.
InvalidOperationException The connection has been disposed of, the persistent object is new, the persistent object is dirty, or the persistent object is already deleted.
Examples
using System;
using System.Collections;
using System.Collections.Generic;

using Obujekutoru;

namespace ObujekutoruExamples.ConnectionDeleteExample
{
  ...

    internal class AsyncDeleteClass
    {
        public async void DeleteAsyncMethod()
        {
            String dataFolderPath = @"C:\Temp\ObujekutoruData";
            EncryptionType encryptionType = EncryptionType.DESEncryption;
            String encryptionKey = "A proavo habui, quod publicos litterarum ludos non frequentavi, et domi bonis praeceptoribus usus...";

            List<PersistentObject> persistentObjects;

            using (Connection connection = new Connection(dataFolderPath, encryptionType, encryptionKey, true))
            {
                PersistentObjectE persistentObjectE1 = new PersistentObjectE("persistent object E1");
                PersistentObjectE persistentObjectE2 = new PersistentObjectE("persistent object E2");
                PersistentObjectE persistentObjectE3 = new PersistentObjectE("persistent object E3");

                await connection.InsertPersistentObjectAsync(persistentObjectE1);
                await connection.InsertPersistentObjectAsync(persistentObjectE2);
                await connection.InsertPersistentObjectAsync(persistentObjectE3);

                persistentObjects = await connection.SelectPersistentObjectAsync(
                    typeof(PersistentObjectE),
                    PersistentObjectFieldFilterCollection.Empty().And(
                        "persistentObjectName", 
                        PersistentObjectFieldFilterOperator.Equal, 
                        "persistent object E2"),
                    PersistentObjectFieldSorterCollection.Empty(),
                    1, Int32.MaxValue);

                PersistentObjectE persistentObjectToDelete = (PersistentObjectE)persistentObjects[0];

                await connection.DeletePersistentObjectAsync(persistentObjectToDelete);

                persistentObjects = await connection.SelectPersistentObjectAsync(
                    typeof(PersistentObjectE),
                    PersistentObjectFieldFilterCollection.Empty(),
                    PersistentObjectFieldSorterCollection.Empty().And(
                        "persistentObjectName", PersistentObjectFieldSortOperator.Ascending),
                    1, Int32.MaxValue);

                Console.WriteLine("persistentObjects[0] = {0}", (persistentObjects[0] as PersistentObjectE).PersistentObjectName);
                Console.WriteLine("persistentObjects[1] = {0}", (persistentObjects[1] as PersistentObjectE).PersistentObjectName);
            }
        }
    }

  ...
}
See Also