Class Combinator
Implements the base functionality for combining data from two providers using
a specific operator (up to the base classes to decide).
Assembly: SoDataBase.dll
Syntax
public abstract class Combinator : Object
Constructors
Combinator(IArchiveProvider, IArchiveProvider, CombinedSelectionProviderBase)
Declaration
public Combinator(IArchiveProvider left, IArchiveProvider right, CombinedSelectionProviderBase parent)
Parameters
Fields
_duplicateList
Declaration
protected List<long> _duplicateList
Field Value
_leftProvider
Sub-provider on the left hand side of the combine operation
Declaration
protected IArchiveProvider _leftProvider
Field Value
_options
Options for the getRows function
Declaration
protected string _options
Field Value
_pageNumber
Declaration
protected int _pageNumber
Field Value
_pageSize
Declaration
Field Value
_parent
Points to the provider using this combinator.
Declaration
protected CombinedSelectionProviderBase _parent
Field Value
_rightProvider
Sub-provider on the right-hand side of the combination operation
Declaration
protected IArchiveProvider _rightProvider
Field Value
_rowComparer
Declaration
protected ArchiveRowIteratorComparer _rowComparer
Field Value
_rowCount
Implements the base functionality for combining data from two providers using
a specific operator (up to the base classes to decide).
Declaration
Field Value
Properties
LeftEnum
Returns the enumerator for the left list
Declaration
protected IEnumerator<ArchiveRow> LeftEnum { get; }
Property Value
RightEnum
Returns the enumerator for the right list
Declaration
protected IEnumerator<ArchiveRow> RightEnum { get; }
Property Value
Methods
DoRowCount(String)
Check if options contains rowcount=true
Declaration
protected bool DoRowCount(string options)
Parameters
Type |
Name |
Description |
String |
options |
|
Returns
Returns the results-information found when enumerating the rows
Declaration
public virtual ArchiveResultInformation GetResultInformation()
Returns
GetRowKey(ArchiveRow)
Builds a correct row key for the row. This is needed so that rows that combines
person and contact gets a combined key ((contactid << 32) + personid)
Declaration
protected long GetRowKey(ArchiveRow row)
Parameters
Returns
Type |
Description |
Int64 |
Either single-entity key, or combined contact/person key. Note that the return value is 64-bit to accomodate two keys
|
GetRows(String)
Returns the enumeration for the combination of the two selections
Declaration
public abstract IEnumerable<ArchiveRow> GetRows(string options)
Parameters
Type |
Name |
Description |
String |
options |
|
Returns
HasDuplicate(ArchiveRow)
Test to see if an item exists in a given list to avoid dupliates. The
function will test wether or not the item's key exists in a list,
and add the item's key to the list if it doesnt. The list's count will
be used to return the number of items in the GetResultInformation method.
Declaration
protected bool HasDuplicate(ArchiveRow row)
Parameters
Returns
SetOrderBy(ArchiveOrderByInfo[])
Declaration
public void SetOrderBy(params ArchiveOrderByInfo[] orderBy)
Parameters
SetPagingInfo(Int32, Int32)
Declaration
public void SetPagingInfo(int pageSize, int pageNumber)
Parameters
Type |
Name |
Description |
Int32 |
pageSize |
|
Int32 |
pageNumber |
|
Extension Methods
EnumUtil.MapEnums<From, To>(From)