[This is preliminary documentation and is subject to change.]

Creates a filter that represents the is greater than relation between this column and the value specified

Namespace:  Firefly.Box.Data
Assembly:  Firefly.Box (in Firefly.Box.dll) Version: 3.4.23.6473 (3.4.23.6473)

Syntax

C#
public FilterBase IsGreaterThan(
	int year,
	int month,
	int day
)
Visual Basic (Declaration)
Public Function IsGreaterThan ( _
	year As Integer, _
	month As Integer, _
	day As Integer _
) As FilterBase
Visual C++
public:
FilterBase^ IsGreaterThan(
	int year, 
	int month, 
	int day
)

Parameters

year
Type: System..::.Int32
The year part of the date to compare to the column
month
Type: System..::.Int32
The month part of the date to compare to the column
day
Type: System..::.Int32
The day part of the date to compare to the column

Remarks

This 'is greater than' filter can later be used as the Where property of a BusinessProcess a UIController a Relation etc...

Examples

Filter Usage
This example is in the form of Unit Tests. It references the NUnit framework. This framework can be downloaded from www.NUnit.org. For more information about unit testing visit: www.NUnit.org.
This example is based on test data. The code for the entities included in this test data can be found in the documentation of Entity
CopyC#
using System;
using System.Collections.Generic;
using System.Text;
using Firefly.Box.Data.Advanced;
using NUnit.Framework;
using Firefly.Box;
using Firefly.Box.Testing;

namespace TestFirefly.Box.Documentation
{
    [TestFixture]
    public class WhereUsage
    {
        [Test]
        public void SimpleWhere()
        {
            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();

            var bp = new BusinessProcess
                         {
                             From = employees
                         };
            bp.Where.Add(employees.JobLevel.IsEqualTo(150));
            bp.Run();
            bp.Counter.ShouldBe(3);
        }
        [Test]
        public void AddingTwoFiltersBehavesAsAndWould()
        {
            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();

            var bp = new BusinessProcess
            {
                From = employees
            };
            bp.Where.Add(employees.JobLevel.IsEqualTo(150));
            bp.Where.Add(employees.JobId.IsLessThan(9));
            bp.Run();
            bp.Counter.ShouldBe(1);
        }
        [Test]
        public void UsingAndAndOr()
        {
            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();

            var bp = new BusinessProcess
            {
                From = employees
            };
            bp.Where.Add(employees.JobLevel.IsEqualTo(150).And(
                        employees.JobId.IsLessThan(9).Or(
                        employees.MiddleInitial.IsEqualTo("C"))));
            bp.Run();
            bp.Counter.ShouldBe(2);
        }
        [Test]
        public void SendingDirectStringToTheDB()
        {
            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();
            var bp = new BusinessProcess
                         {
                             From = employees
                         };
            bp.Where.Add("{0} in ({1},{2},{3})",employees.MiddleInitial, "M", "R", "A");
            bp.Run();
            bp.Counter.ShouldBe(9);
        }
        [Test]
        public void UsingCustomInMemoryFilter()
        {
            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();
            var bp = new BusinessProcess
            {
                From = employees
            };
            //This has a slight performance penalty as this condition is evaluated in memory, and not by the database
            bp.Where.Add(() => employees.MiddleInitial == "M" || employees.MiddleInitial == "R" || employees.MiddleInitial == "A");
            bp.Run();
            bp.Counter.ShouldBe(9);
        }
        [Test]
        public void UsingAPreDefinedFilter()
        {
            var employees = new Pubs.Employees();
            employees.InitializeWithTestData();
            var bp = new BusinessProcess
            {
                From = employees
            };
            FilterCollection filter = new FilterCollection();
            filter.Add(employees.JobLevel.IsEqualTo(150));
            filter.Add(employees.JobId.IsLessThan(9));

            bp.Where.Add(filter);
            bp.Run();
            bp.Counter.ShouldBe(1);
        }
    }
}

See Also