Click or drag to resize
PersistentObjectFieldFilter Class
Describes a persistent object field filter.
Inheritance Hierarchy
SystemObject
  ObujekutoruPersistentObjectFieldFilter

Namespace: Obujekutoru
Assembly: obujekutoru (in obujekutoru.dll) Version: 1.0.0.19089 (1.0.0.*)
Syntax
public sealed class PersistentObjectFieldFilter

The PersistentObjectFieldFilter type exposes the following members.

Constructors
  NameDescription
Public methodPersistentObjectFieldFilter
Initializes a new instance of the PersistentObjectFieldFilter class.
Top
Properties
  NameDescription
Public propertyPersistentObjectFieldFilterOperator
Gets the persistent object field filter operator.
Public propertyPersistentObjectFieldName
Gets the persistent object field name.
Public propertyPersistentObjectFieldValue
Gets the persistent object field value.
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Examples
using System;
using System.Collections;
using System.Collections.Generic;

using Obujekutoru;

namespace ObujekutoruExamples.PersistentObjectFieldFilterExample
{
    class Program
    {
        static void Main(string[] args)
        {
            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", 1);
                PersistentObjectE persistentObjectE2 = new PersistentObjectE("persistent object E2", 2);
                PersistentObjectE persistentObjectE3 = new PersistentObjectE("persistent object E3", 3);
                PersistentObjectE persistentObjectE4 = new PersistentObjectE("persistent object E4", 4);
                PersistentObjectE persistentObjectE5 = new PersistentObjectE("persistent object E5", 5);
                PersistentObjectE persistentObjectE6 = new PersistentObjectE("persistent object E6", 6);
                PersistentObjectE persistentObjectE7 = new PersistentObjectE("persistent object E7", 7);
                PersistentObjectE persistentObjectE8 = new PersistentObjectE("persistent object E8", 8);
                PersistentObjectE persistentObjectE9 = new PersistentObjectE("persistent object E9", 9);

                connection.InsertPersistentObject(persistentObjectE1);
                connection.InsertPersistentObject(persistentObjectE2);
                connection.InsertPersistentObject(persistentObjectE3);
                connection.InsertPersistentObject(persistentObjectE4);
                connection.InsertPersistentObject(persistentObjectE5);
                connection.InsertPersistentObject(persistentObjectE6);
                connection.InsertPersistentObject(persistentObjectE7);
                connection.InsertPersistentObject(persistentObjectE8);
                connection.InsertPersistentObject(persistentObjectE9);

                persistentObjects = connection.SelectPersistentObject(
                    typeof(PersistentObjectE),
                    PersistentObjectFieldFilterCollection.Empty().And(
                        new PersistentObjectFieldFilter(
                            "persistentObjectName",
                            PersistentObjectFieldFilterOperator.GreaterOrEqualThan,
                            "persistent object E4")).And(
                        new PersistentObjectFieldFilter(
                            "persistentObjectValue",
                            PersistentObjectFieldFilterOperator.LessOrEqualThan,
                            6)),
                    PersistentObjectFieldSorterCollection.Empty().And(
                        new PersistentObjectFieldSorter(
                            "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);
                Console.WriteLine("persistentObjects[2] = {0}", (persistentObjects[2] as PersistentObjectE).PersistentObjectName);
            }
        }
    }

    [PersistentObject("PersistentObjectE")]
    internal class PersistentObjectE : PersistentObject
    {
        [PersistentObjectField("persistentObjectName", true)]
        private String _persistentObjectName;

        [PersistentObjectField("persistentObjectValue", true)]
        private Int32 _persistentObjectValue;

        public PersistentObjectE()
        { }
        public PersistentObjectE(String persistentObjectName, Int32 persistentObjectValue)
        {
            _persistentObjectName = persistentObjectName;
            _persistentObjectValue = persistentObjectValue;
        }

        public String PersistentObjectName
        {
            get { return _persistentObjectName; }
            set
            {
                _persistentObjectName = value;
                _isDirty = true;
                _updated = DateTime.UtcNow;
            }
        }

        public Int32 PersistentObjectValue
        {
            get { return _persistentObjectValue; }
            set
            {
                _persistentObjectValue = value;
                _isDirty = true;
                _updated = DateTime.UtcNow;
            }
        }
    }
}
See Also