Class TimeZonesProvider
Inheritance
TimeZonesProvider
Assembly: SoDataBase.dll
Syntax
[ArchiveProvider("TimeZones", 1073741823)]
public class TimeZonesProvider : QueryProviderBase<ArchiveRow>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities
Constructors
TimeZonesProvider()
Declaration
protected TimeZonesProvider()
Fields
ProviderName
Declaration
public const string ProviderName = "TimeZones"
Field Value
_colCities
Declaration
protected ArchiveColumnInfo _colCities
Field Value
_colCountry
Declaration
protected ArchiveColumnInfo _colCountry
Field Value
_colDaylight
Declaration
protected ArchiveColumnInfo _colDaylight
Field Value
_colDaylightRaw
Declaration
protected ArchiveColumnInfo _colDaylightRaw
Field Value
_colFlag
Declaration
protected ArchiveColumnInfo _colFlag
Field Value
_colId
Declaration
protected ArchiveColumnInfo _colId
Field Value
_colIsActive
Declaration
protected ArchiveColumnInfo _colIsActive
Field Value
_colOffset
Declaration
protected ArchiveColumnInfo _colOffset
Field Value
_colOffsetRaw
Declaration
protected ArchiveColumnInfo _colOffsetRaw
Field Value
_colRegion
Declaration
protected ArchiveColumnInfo _colRegion
Field Value
_colTimeZone
Declaration
protected ArchiveColumnInfo _colTimeZone
Field Value
Properties
PrimaryTable
The primary table of this archive provider, from the derived class
Declaration
public override TableInfo PrimaryTable { get; }
Property Value
Overrides
Query
The main query of this archive provider, from the derived class
Declaration
public override ArchiveSelect Query { get; }
Property Value
Overrides
RootExtenders
Implement this property to return the extender(s) that form the root of the query tree, or null if that
is not meaningful. This property is used by the dynamic column processing, which will fail and throw
an exception if null is returned here (no problem if dynamic column syntax is not used)
Declaration
protected override List<IArchiveExtender> RootExtenders { get; }
Property Value
Overrides
Methods
InnerMapFields()
Override this method to map query fields to columns, add additional return fields to the query, and set up custom restriction handling
Declaration
public override void InnerMapFields()
Overrides
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Derived classes should implement the population of ColumnData items for columns
that are NOT handled by this base class in this method. Whether a column is handled by
this base class is part of its database binding information, set by the various MapXXX methods.
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type |
Name |
Description |
SoDataReader |
reader |
Data reader with the query result (one row)
|
ArchiveRow |
row |
archive row to be populated
|
Overrides
ProcessOrderBy()
Process order by information during query modification. For each order by column that
matches a known database binding, add the orderby clause to the query. If the column has
a separate fieldinfo specified for its orderby (as specified by MapOrderByField(FieldInfo, ArchiveColumnInfo),
this field is used, otherwise the display field is used).
Declaration
protected override void ProcessOrderBy()
Overrides
SetOrderBy(ArchiveOrderByInfo[])
Set the order by parameters. This method sets the order by parameters of this provider,
as well as invoking the same call on all known extenders. Recursion will take it to the bottom.
This method actually only saves the orderby specification for use during query processing.
Any column name overrides
are processed, i.e., replaced with the original inner names, so that the inner providers do not see the overrides.
Declaration
public override void SetOrderBy(ArchiveOrderByInfo[] orderBy)
Parameters
Overrides
SetRestriction(params ArchiveRestrictionInfo[])
Set the restriction by calling the base class and InnerSetRestriction; take this opportunity to note
that a restriction has actually been set, so we can report cases of totally missing restrictions
(which is not acceptable as it might end up fetching the whole database)
Declaration
public override bool SetRestriction(params ArchiveRestrictionInfo[] restrictions)
Parameters
Returns
Overrides
Implements
Extension Methods