Sort Class

Represents a definition of how to sort rows

Definition

Namespace: Firefly.Box
Assembly: Firefly.Box (in Firefly.Box.dll) Version: debug-master-v:33791
C#
public class Sort
Inheritance
Object    Sort

Example

This example demonstrates the usage of DemoOrderBy
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
C#
using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
using Firefly.Box;
using Firefly.Box.Testing;

namespace TestFirefly.Box.Documentation
{
    [TestFixture]
    public class DemoOrderBy
    {
        [Test]
        public void UsingDefaultInstance()
        {
            var jobs = new Pubs.Jobs();
            jobs.InitializeWithTestData();

            var bp = new BusinessProcess
                         {
                             From = jobs,
                         };
            bp.Where.Add(jobs.Id.IsLessOrEqualTo(5));
            bp.OrderBy.Segments.Add(jobs.Id, SortDirection.Descending);

            string result = "";
            bp.ForEachRow(() =>
                              {
                                  result += jobs.Id + "\n";
                              });
            result.ShouldBe(" 5\n" +
                            " 4\n" +
                            " 3\n" +
                            " 2\n" +
                            " 1\n");
        }
        [Test]
        public void UsingNewInstance()
        {
            var jobs = new Pubs.Jobs();
            jobs.InitializeWithTestData();

            var bp = new BusinessProcess
            {
                From = jobs,
            };
            bp.Where.Add(jobs.Id.IsLessOrEqualTo(5));
            var sort = new Sort();
            sort.Segments.Add(jobs.MinLevel);
            sort.Segments.Add(jobs.Id, SortDirection.Descending);

            bp.OrderBy = sort;
            string result = "";
            bp.ForEachRow(() =>
            {
                result += jobs.Id + " - " + jobs.MinLevel + "\n";
            });
            result.ShouldBe(" 1 -  10\n" +
                            " 5 - 150\n" +
                            " 4 - 175\n" +
                            " 3 - 175\n" +
                            " 2 - 200\n");
        }

        [Test]
        public void ReverseRowOrder()
        {
            var jobs = new Pubs.Jobs();
            jobs.InitializeWithTestData();

            var bp = new BusinessProcess
            {
                From = jobs,
            };
            bp.Where.Add(jobs.Id.IsLessOrEqualTo(5));

            bp.OrderBy.Segments.Add(jobs.MinLevel);
            bp.OrderBy.Segments.Add(jobs.Id, SortDirection.Descending);
            bp.OrderBy.Reversed = true;

            string result = "";
            bp.ForEachRow(() =>
            {
                result += jobs.Id + " - " + jobs.MinLevel + "\n";
            });
            result.ShouldBe(" 2 - 200\n" +
                            " 3 - 175\n" +
                            " 4 - 175\n" +
                            " 5 - 150\n" +
                            " 1 -  10\n");
        }
    }
}

Constructors

SortInitializes a new instance of the Sort class.

Properties

CaptionGets or sets the Sort's caption
NameGets or sets the Sort's name
ReversedGets or sets the value determining wether to reverse the order of the rows returned by the task
SegmentsGets the SortSortSegments
UniqueGets or sets the value determining if the combination of columns represent a unique row

Methods

Add(ColumnBase)Adds a columns to this Sort
Add(SortSegment)Adds a segment to this Sort
Add(ColumnBase, SortDirection)Adds a column to this Sort
Clear 
Clone 
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
PopulateClone 
ToStringReturns a string that represents the current object.
(Overrides ObjectToString)

See Also