DateColumnBeginningOfMonth Property
Namespace: Firefly.Box.DataAssembly: Firefly.Box (in Firefly.Box.dll) Version: debug-master-v:33791
public Date BeginningOfMonth { get; }
Public ReadOnly Property BeginningOfMonth As Date
Get
member BeginningOfMonth : Date with get
Property Value
Date 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
Entityusing 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);
}
}
}