' <fileinfo name="EmployeeTerritoriesCollection_Base.vb">
' <copyright>
' All rights reserved.
' </copyright>
' <remarks>
' Do not change this source code manually. Changes to this file may
' cause incorrect behavior and will be lost if the code is regenerated.
' </remarks>
' <generator rewritefile="True" infourl="http://www.SharpPower.com">RapTier</generator>
' </fileinfo>
Option Strict Off
Option Explicit On
Imports System
Imports System.Data
''' <summary>
''' The base class for <see cref="EmployeeTerritoriesCollection"/>. Provides methods
''' for common database table operations.
''' </summary>
''' <remarks>
''' Do not change this source code. Update the <see cref="EmployeeTerritoriesCollection"/>
''' class if you need to add or change some functionality.
''' </remarks>
Public MustInherit Class EmployeeTerritoriesCollection_Base
' Constants
Public Const EmployeeIDColumnName As String = "EmployeeID"
Public Const TerritoryIDColumnName As String = "TerritoryID"
' Instance fields
Private _db As Northwind
''' <summary>
''' Initializes a new instance of the <see cref="EmployeeTerritoriesCollection_Base"/>
''' class with the specified <see cref="Northwind"/>.
''' </summary>
''' <param name="db">The <see cref="Northwind"/> object.</param>
Public Sub New(db As Northwind)
MyBase.New()
_db = db
End Sub
''' <summary>
''' Gets the database object that this table belongs to.
''' </summary>
''' <value>The <see cref="Northwind"/> object.</value>
Protected ReadOnly Property Database As Northwind
Get
Return _db
End Get
End Property
''' <summary>
''' Gets an array of all records from the <c>EmployeeTerritories</c> table.
''' </summary>
''' <returns>An array of <see cref="EmployeeTerritoriesRow"/> objects.</returns>
Public Overridable Function GetAll() As EmployeeTerritoriesRow()
Return MapRecords(CreateGetAllCommand())
End Function
''' <summary>
''' Gets a <see cref="System.Data.DataTable"/> object that
''' includes all records from the <c>EmployeeTerritories</c> table.
''' </summary>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Public Overridable Function GetAllAsDataTable() As DataTable
Return MapRecordsToDataTable(CreateGetAllCommand())
End Function
''' <summary>
''' Creates and returns an <see cref="System.Data.IDbCommand"/> object that is used
''' to retrieve all records from the <c>EmployeeTerritories</c> table.
''' </summary>
''' <returns>A reference to the <see cref="System.Data.IDbCommand"/> object.</returns>
Protected Overridable Function CreateGetAllCommand() As IDbCommand
Return CreateGetCommand(Nothing, Nothing)
End Function
''' <summary>
''' Gets the first <see cref="EmployeeTerritoriesRow"/> objects that
''' match the search condition.
''' </summary>
''' <param name="whereSql">The SQL search condition. For example:
''' <c>"FirstName='Smith' AND Zip=75038"</c>.</param>
''' <returns>An instance of <see cref="EmployeeTerritoriesRow"/> or null reference
''' (Nothing in Visual Basic) if the object was not found.</returns>
Public Function GetRow(whereSql As String) As EmployeeTerritoriesRow
Dim totalRecordCount As Integer = -1
Dim rows As EmployeeTerritoriesRow() = GetAsArray(whereSql, Nothing, 0, 1, totalRecordCount)
If 0 = rows.Length Then
Return Nothing
End If
Return rows(0)
End Function
''' <summary>
''' Gets an array of <see cref="EmployeeTerritoriesRow"/> objects that
''' match the search condition, in the the specified sort order.
''' </summary>
''' <param name="whereSql">The SQL search condition. For example:
''' <c>"FirstName='Smith' AND Zip=75038"</c>.</param>
''' <param name="orderBySql">The column name(s) followed by "ASC" (ascending) or "DESC" (descending).
''' Columns are sorted in ascending order by default. For example: <c>"LastName ASC, FirstName ASC"</c>.</param>
''' <returns>An array of <see cref="EmployeeTerritoriesRow"/> objects.</returns>
Public Function GetAsArray(whereSql As String, orderBySql As String) As EmployeeTerritoriesRow()
Dim totalRecordCount As Integer = -1
Return GetAsArray(whereSql, orderBySql, 0, Integer.MaxValue, totalRecordCount)
End Function
''' <summary>
''' Gets an array of <see cref="EmployeeTerritoriesRow"/> objects that
''' match the search condition, in the the specified sort order.
''' </summary>
''' <param name="whereSql">The SQL search condition. For example:
''' <c>"FirstName='Smith' AND Zip=75038"</c>.</param>
''' <param name="orderBySql">The column name(s) followed by "ASC" (ascending) or "DESC" (descending).
''' Columns are sorted in ascending order by default. For example: <c>"LastName ASC, FirstName ASC"</c>.</param>
''' <param name="startIndex">The index of the first record to return.</param>
''' <param name="length">The number of records to return.</param>
''' <param name="totalRecordCount">A reference parameter that returns the total number
''' of records in the reader object if 0 was passed into the method; otherwise it returns -1.</param>
''' <returns>An array of <see cref="EmployeeTerritoriesRow"/> objects.</returns>
Public Overridable Function GetAsArray(whereSql As String, orderBySql As String, _
startIndex As Integer, length As Integer, _
ByRef totalRecordCount As Integer) As EmployeeTerritoriesRow()
Dim reader As IDataReader = _db.ExecuteReader(CreateGetCommand(whereSql, orderBySql))
Try
Return MapRecords(reader, startIndex, length, totalRecordCount)
Finally
reader.Dispose()
End Try
End Function
''' <summary>
''' Gets a <see cref="System.Data.DataTable"/> object filled with data that
''' match the search condition, in the the specified sort order.
''' </summary>
''' <param name="whereSql">The SQL search condition. For example: "FirstName='Smith' AND Zip=75038".</param>
''' <param name="orderBySql">The column name(s) followed by "ASC" (ascending) or "DESC" (descending).
''' Columns are sorted in ascending order by default. For example: "LastName ASC, FirstName ASC".</param>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Public Function GetAsDataTable(whereSql As String, orderBySql As String) As DataTable
Dim totalRecordCount As Integer = -1
return GetAsDataTable(whereSql, orderBySql, 0, Integer.MaxValue, totalRecordCount)
End Function
''' <summary>
''' Gets a <see cref="System.Data.DataTable"/> object filled with data that
''' match the search condition, in the the specified sort order.
''' </summary>
''' <param name="whereSql">The SQL search condition. For example: "FirstName='Smith' AND Zip=75038".</param>
''' <param name="orderBySql">The column name(s) followed by "ASC" (ascending) or "DESC" (descending).
''' Columns are sorted in ascending order by default. For example: "LastName ASC, FirstName ASC".</param>
''' <param name="startIndex">The index of the first record to return.</param>
''' <param name="length">The number of records to return.</param>
''' <param name="totalRecordCount">A reference parameter that returns the total number
''' of records in the reader object if 0 was passed into the method; otherwise it returns -1.</param>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Public Overridable Function GetAsDataTable(whereSql As String, orderBySql As String, _
startIndex As Integer, length As Integer, _
ByRef totalRecordCount As Integer) As DataTable
Dim reader As IDataReader = _db.ExecuteReader(CreateGetCommand(whereSql, orderBySql))
Try
Return MapRecordsToDataTable(reader, startIndex, length, totalRecordCount)
Finally
reader.Dispose()
End Try
End Function
''' <summary>
''' Creates an <see cref="System.Data.IDbCommand"/> object for the specified search criteria.
''' </summary>
''' <param name="whereSql">The SQL search condition. For example: "FirstName='Smith' AND Zip=75038".</param>
''' <param name="orderBySql">The column name(s) followed by "ASC" (ascending) or "DESC" (descending).
''' Columns are sorted in ascending order by default. For example: "LastName ASC, FirstName ASC".</param>
''' <returns>A reference to the <see cref="System.Data.IDbCommand"/> object.</returns>
Protected Overridable Function CreateGetCommand(whereSql As String, _
orderBySql As String) As IDbCommand
Dim sql As String = "SELECT * FROM [dbo].[EmployeeTerritories]"
If Not(whereSql Is Nothing) AndAlso 0 < whereSql.Length Then
sql += " WHERE " + whereSql
End If
If Not(orderBySql Is Nothing) AndAlso 0 < orderBySql.Length Then
sql += " ORDER BY " + orderBySql
End If
Return _db.CreateCommand(sql)
End Function
''' <summary>
''' Gets <see cref="EmployeeTerritoriesRow"/> by the primary key.
''' </summary>
''' <param name="employeeID">The <c>EmployeeID</c> column value.</param>
''' <param name="territoryID">The <c>TerritoryID</c> column value.</param>
''' <returns>An instance of <see cref="EmployeeTerritoriesRow"/> or null reference
''' (Nothing in Visual Basic) if the object was not found.</returns>
Public Overridable Function GetByPrimaryKey(employeeID As Integer, territoryID As String) As EmployeeTerritoriesRow
Dim whereSql As String = "[EmployeeID]=" + _db.CreateSqlParameterName("EmployeeID") + " AND " + _
"[TerritoryID]=" + _db.CreateSqlParameterName("TerritoryID")
Dim cmd As IDbCommand = CreateGetCommand(whereSql, Nothing)
AddParameter(cmd, "EmployeeID", employeeID)
AddParameter(cmd, "TerritoryID", territoryID)
Dim tempArray As EmployeeTerritoriesRow() = MapRecords(cmd)
If 0 = tempArray.Length Then
Return Nothing
End If
Return tempArray(0)
End Function
''' <summary>
''' Gets an array of <see cref="EmployeeTerritoriesRow"/> objects
''' by the <c>FK_EmployeeTerritories_Employees</c> foreign key.
''' </summary>
''' <param name="employeeID">The <c>EmployeeID</c> column value.</param>
''' <returns>An array of <see cref="EmployeeTerritoriesRow"/> objects.</returns>
Public Overridable Function GetByEmployeeID(employeeID As Integer) As EmployeeTerritoriesRow()
Return MapRecords(CreateGetByEmployeeIDCommand(employeeID))
End Function
''' <summary>
''' Gets a <see cref="System.Data.DataTable"/> object
''' by the <c>FK_EmployeeTerritories_Employees</c> foreign key.
''' </summary>
''' <param name="employeeID">The <c>EmployeeID</c> column value.</param>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Public Overridable Function GetByEmployeeIDAsDataTable(employeeID As Integer) As DataTable
Return MapRecordsToDataTable(CreateGetByEmployeeIDCommand(employeeID))
End Function
''' <summary>
''' Creates an <see cref="System.Data.IDbCommand"/> object that can be used to
''' return records by the <c>FK_EmployeeTerritories_Employees</c> foreign key.
''' </summary>
''' <param name="employeeID">The <c>EmployeeID</c> column value.</param>
''' <returns>A reference to the <see cref="System.Data.IDbCommand"/> object.</returns>
Protected Overridable Function CreateGetByEmployeeIDCommand( _
employeeID As Integer) As IDbCommand
Dim whereSql As String = ""
whereSql += "[EmployeeID]=" + _db.CreateSqlParameterName("EmployeeID")
Dim cmd As IDbCommand = CreateGetCommand(whereSql, Nothing)
AddParameter(cmd, "EmployeeID", employeeID)
Return cmd
End Function
''' <summary>
''' Gets an array of <see cref="EmployeeTerritoriesRow"/> objects
''' by the <c>FK_EmployeeTerritories_Territories</c> foreign key.
''' </summary>
''' <param name="territoryID">The <c>TerritoryID</c> column value.</param>
''' <returns>An array of <see cref="EmployeeTerritoriesRow"/> objects.</returns>
Public Overridable Function GetByTerritoryID(territoryID As String) As EmployeeTerritoriesRow()
Return MapRecords(CreateGetByTerritoryIDCommand(territoryID))
End Function
''' <summary>
''' Gets a <see cref="System.Data.DataTable"/> object
''' by the <c>FK_EmployeeTerritories_Territories</c> foreign key.
''' </summary>
''' <param name="territoryID">The <c>TerritoryID</c> column value.</param>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Public Overridable Function GetByTerritoryIDAsDataTable(territoryID As String) As DataTable
Return MapRecordsToDataTable(CreateGetByTerritoryIDCommand(territoryID))
End Function
''' <summary>
''' Creates an <see cref="System.Data.IDbCommand"/> object that can be used to
''' return records by the <c>FK_EmployeeTerritories_Territories</c> foreign key.
''' </summary>
''' <param name="territoryID">The <c>TerritoryID</c> column value.</param>
''' <returns>A reference to the <see cref="System.Data.IDbCommand"/> object.</returns>
Protected Overridable Function CreateGetByTerritoryIDCommand( _
territoryID As String) As IDbCommand
Dim whereSql As String = ""
whereSql += "[TerritoryID]=" + _db.CreateSqlParameterName("TerritoryID")
Dim cmd As IDbCommand = CreateGetCommand(whereSql, Nothing)
AddParameter(cmd, "TerritoryID", territoryID)
Return cmd
End Function
''' <summary>
''' Adds a new record into the <c>EmployeeTerritories</c> table.
''' </summary>
''' <param name="value">The <see cref="EmployeeTerritoriesRow"/> object to be inserted.</param>
Public Overridable Sub Insert(value As EmployeeTerritoriesRow)
Dim sqlStr As String = "INSERT INTO [dbo].[EmployeeTerritories] (" + _
"[EmployeeID], " + _
"[TerritoryID]" + _
") VALUES (" + _
_db.CreateSqlParameterName("EmployeeID") + ", " + _
_db.CreateSqlParameterName("TerritoryID") + ")"
Dim cmd As IDbCommand = _db.CreateCommand(sqlStr)
AddParameter(cmd, "EmployeeID", value.EmployeeID)
AddParameter(cmd, "TerritoryID", value.TerritoryID)
cmd.ExecuteNonQuery()
End Sub
''' <summary>
''' Deletes the specified object from the <c>EmployeeTerritories</c> table.
''' </summary>
''' <param name="value">The <see cref="EmployeeTerritoriesRow"/> object to delete.</param>
''' <returns>true if the record was deleted; otherwise, false.</returns>
Public Function Delete(value As EmployeeTerritoriesRow) As Boolean
Return DeleteByPrimaryKey(value.EmployeeID, value.TerritoryID)
End Function
''' <summary>
''' Deletes a record from the <c>EmployeeTerritories</c> table using
''' the specified primary key.
''' </summary>
''' <param name="employeeID">The <c>EmployeeID</c> column value.</param>
''' <param name="territoryID">The <c>TerritoryID</c> column value.</param>
''' <returns>true if the record was deleted; otherwise, false.</returns>
Public Overridable Function DeleteByPrimaryKey(employeeID As Integer, territoryID As String) As Boolean
Dim whereSql As String = "[EmployeeID]=" + _db.CreateSqlParameterName("EmployeeID") + " AND " + _
"[TerritoryID]=" + _db.CreateSqlParameterName("TerritoryID")
Dim cmd As IDbCommand = CreateDeleteCommand(whereSql)
AddParameter(cmd, "EmployeeID", employeeID)
AddParameter(cmd, "TerritoryID", territoryID)
Return 0 < cmd.ExecuteNonQuery()
End Function
''' <summary>
''' Deletes records from the <c>EmployeeTerritories</c> table using the
''' <c>FK_EmployeeTerritories_Employees</c> foreign key.
''' </summary>
''' <param name="employeeID">The <c>EmployeeID</c> column value.</param>
''' <returns>The number of records deleted from the table.</returns>
Public Function DeleteByEmployeeID(employeeID As Integer) As Integer
Return CreateDeleteByEmployeeIDCommand(employeeID).ExecuteNonQuery()
End Function
''' <summary>
''' Creates an <see cref="System.Data.IDbCommand"/> object that can be used to
''' delete records using the <c>FK_EmployeeTerritories_Employees</c> foreign key.
''' </summary>
''' <param name="employeeID">The <c>EmployeeID</c> column value.</param>
''' <returns>A reference to the <see cref="System.Data.IDbCommand"/> object.</returns>
Public Overridable Function CreateDeleteByEmployeeIDCommand(employeeID As Integer) As IDbCommand
Dim whereSql As String = ""
whereSql += "[EmployeeID]=" + _db.CreateSqlParameterName("EmployeeID")
Dim cmd As IDbCommand = CreateDeleteCommand(whereSql)
AddParameter(cmd, "EmployeeID", employeeID)
Return cmd
End Function
''' <summary>
''' Deletes records from the <c>EmployeeTerritories</c> table using the
''' <c>FK_EmployeeTerritories_Territories</c> foreign key.
''' </summary>
''' <param name="territoryID">The <c>TerritoryID</c> column value.</param>
''' <returns>The number of records deleted from the table.</returns>
Public Function DeleteByTerritoryID(territoryID As String) As Integer
Return CreateDeleteByTerritoryIDCommand(territoryID).ExecuteNonQuery()
End Function
''' <summary>
''' Creates an <see cref="System.Data.IDbCommand"/> object that can be used to
''' delete records using the <c>FK_EmployeeTerritories_Territories</c> foreign key.
''' </summary>
''' <param name="territoryID">The <c>TerritoryID</c> column value.</param>
''' <returns>A reference to the <see cref="System.Data.IDbCommand"/> object.</returns>
Public Overridable Function CreateDeleteByTerritoryIDCommand(territoryID As String) As IDbCommand
Dim whereSql As String = ""
whereSql += "[TerritoryID]=" + _db.CreateSqlParameterName("TerritoryID")
Dim cmd As IDbCommand = CreateDeleteCommand(whereSql)
AddParameter(cmd, "TerritoryID", territoryID)
Return cmd
End Function
''' <summary>
''' Deletes <c>EmployeeTerritories</c> records that match the specified criteria.
''' </summary>
''' <param name="whereSql">The SQL search condition.
''' For example: <c>"FirstName='Smith' AND Zip=75038"</c>.</param>
''' <returns>The number of deleted records.</returns>
Public Function Delete(whereSql As String) As Integer
Return CreateDeleteCommand(whereSql).ExecuteNonQuery()
End Function
''' <summary>
''' Creates an <see cref="System.Data.IDbCommand"/> object that can be used
''' to delete <c>EmployeeTerritories</c> records that match the specified criteria.
''' </summary>
''' <param name="whereSql">The SQL search condition.
''' For example: <c>"FirstName='Smith' AND Zip=75038"</c>.</param>
''' <returns>A reference to the <see cref="System.Data.IDbCommand"/> object.</returns>
Protected Overridable Function CreateDeleteCommand(whereSql As String) As IDbCommand
Dim sql As String = "DELETE FROM [dbo].[EmployeeTerritories]"
If Not(whereSql Is Nothing) AndAlso 0 < whereSql.Length Then
sql += " WHERE " + whereSql
End If
Return _db.CreateCommand(sql)
End Function
''' <summary>
''' Deletes all records from the <c>EmployeeTerritories</c> table.
''' </summary>
''' <returns>The number of deleted records.</returns>
Public Function DeleteAll() As Integer
Return Delete("")
End Function
''' <summary>
''' Reads data using the specified command and returns
''' an array of mapped objects.
''' </summary>
''' <param name="command">The <see cref="System.Data.IDbCommand"/> object.</param>
''' <returns>An array of <see cref="EmployeeTerritoriesRow"/> objects.</returns>
Protected Function MapRecords(command As IDbCommand) As EmployeeTerritoriesRow()
Dim reader As IDataReader = _db.ExecuteReader(command)
Try
Return MapRecords(reader)
Finally
reader.Dispose()
End Try
End Function
''' <summary>
''' Reads data from the provided data reader and returns
''' an array of mapped objects.
''' </summary>
''' <param name="reader">The <see cref="System.Data.IDataReader"/> object to read data from the table.</param>
''' <returns>An array of <see cref="EmployeeTerritoriesRow"/> objects.</returns>
Protected Function MapRecords(reader As IDataReader) As EmployeeTerritoriesRow()
Dim totalRecordCount As Integer = -1
Return MapRecords(reader, 0, Integer.MaxValue, totalRecordCount)
End Function
''' <summary>
''' Reads data from the provided data reader and returns
''' an array of mapped objects.
''' </summary>
''' <param name="reader">The <see cref="System.Data.IDataReader"/> object to read data from the table.</param>
''' <param name="startIndex">The index of the first record to map.</param>
''' <param name="length">The number of records to map.</param>
''' <param name="totalRecordCount">A reference parameter that returns the total number
''' of records in the reader object if 0 was passed into the method; otherwise it returns -1.</param>
''' <returns>An array of <see cref="EmployeeTerritoriesRow"/> objects.</returns>
Protected Overridable Function MapRecords(reader As IDataReader, startIndex As Integer, _
length As Integer, ByRef totalRecordCount As Integer) As EmployeeTerritoriesRow()
If 0 > startIndex Then
Throw New ArgumentOutOfRangeException("startIndex", startIndex, "StartIndex cannot be less than zero.")
End If
If 0 > length Then
Throw New ArgumentOutOfRangeException("length", length, "Length cannot be less than zero.")
End If
Dim employeeIDColumnIndex As Integer = reader.GetOrdinal("EmployeeID")
Dim territoryIDColumnIndex As Integer = reader.GetOrdinal("TerritoryID")
Dim recordList As System.Collections.ArrayList = New System.Collections.ArrayList()
Dim ri As Integer = -startIndex
While(reader.Read())
ri = ri + 1
If ri > 0 AND ri <= length Then
Dim record As EmployeeTerritoriesRow = New EmployeeTerritoriesRow()
recordList.Add(record)
record.EmployeeID = Convert.ToInt32(reader.GetValue(employeeIDColumnIndex))
record.TerritoryID = Convert.ToString(reader.GetValue(territoryIDColumnIndex))
If ri = length AND 0 <> totalRecordCount Then
Exit While
End If
End If
End While
If 0 = totalRecordCount
totalRecordCount = ri + startIndex
Else
totalRecordCount = -1
End If
Return CType(recordList.ToArray(GetType(EmployeeTerritoriesRow)), EmployeeTerritoriesRow())
End Function
''' <summary>
''' Reads data using the specified command and returns
''' a filled <see cref="System.Data.DataTable"/> object.
''' </summary>
''' <param name="command">The <see cref="System.Data.IDbCommand"/> object.</param>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Protected Function MapRecordsToDataTable(command As IDbCommand) As DataTable
Dim reader As IDataReader = _db.ExecuteReader(command)
Try
Return MapRecordsToDataTable(reader)
Finally
reader.Dispose()
End Try
End Function
''' <summary>
''' Reads data from the provided data reader and returns
''' a filled <see cref="System.Data.DataTable"/> object.
''' </summary>
''' <param name="reader">The <see cref="System.Data.IDataReader"/> object to read data from the table.</param>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Protected Function MapRecordsToDataTable(reader As IDataReader) As DataTable
Dim totalRecordCount As Integer = 0
Return MapRecordsToDataTable(reader, 0, Integer.MaxValue, totalRecordCount)
End Function
''' <summary>
''' Reads data from the provided data reader and returns
''' a filled <see cref="System.Data.DataTable"/> object.
''' </summary>
''' <param name="reader">The <see cref="System.Data.IDataReader"/> object to read data from the table.</param>
''' <param name="startIndex">The index of the first record to read.</param>
''' <param name="length">The number of records to read.</param>
''' <param name="totalRecordCount">A reference parameter that returns the total number
''' of records in the reader object if 0 was passed into the method; otherwise it returns -1.</param>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Protected Overridable Function MapRecordsToDataTable(reader As IDataReader, startIndex As Integer, _
length As Integer, ByRef totalRecordCount As Integer) As DataTable
If 0 > startIndex Then
Throw New ArgumentOutOfRangeException("startIndex", startIndex, "StartIndex cannot be less than zero.")
End If
If 0 > length Then
Throw New ArgumentOutOfRangeException("length", length, "Length cannot be less than zero.")
End If
Dim columnCount As Integer = reader.FieldCount
Dim ri As Integer = -startIndex
Dim dataTable As DataTable = CreateDataTable()
dataTable.BeginLoadData()
Dim values(columnCount - 1) As Object
While(reader.Read())
ri = ri + 1
If ri > 0 AND ri <= length Then
reader.GetValues(values)
dataTable.LoadDataRow(values, True)
If ri = length AND 0 <> totalRecordCount Then
Exit While
End If
End If
End While
dataTable.EndLoadData()
If 0 = totalRecordCount
totalRecordCount = ri + startIndex
Else
totalRecordCount = -1
End If
Return dataTable
End Function
''' <summary>
''' Converts <see cref="System.Data.DataRow"/> to <see cref="EmployeeTerritoriesRow"/>.
''' </summary>
''' <param name="row">The <see cref="System.Data.DataRow"/> object to be mapped.</param>
''' <returns>A reference to the <see cref="EmployeeTerritoriesRow"/> object.</returns>
Protected Overridable Function MapRow(row As DataRow) As EmployeeTerritoriesRow
Dim mappedObject As EmployeeTerritoriesRow = New EmployeeTerritoriesRow()
Dim dataTable As DataTable = row.Table
Dim dataColumn As DataColumn
' Column "EmployeeID"
dataColumn = dataTable.Columns("EmployeeID")
If Not row.IsNull(dataColumn) Then
mappedObject.EmployeeID = CType(row(dataColumn), Integer)
End If
' Column "TerritoryID"
dataColumn = dataTable.Columns("TerritoryID")
If Not row.IsNull(dataColumn) Then
mappedObject.TerritoryID = CType(row(dataColumn), String)
End If
Return mappedObject
End Function
''' <summary>
''' Creates a <see cref="System.Data.DataTable"/> object for
''' the <c>EmployeeTerritories</c> table.
''' </summary>
''' <returns>A reference to the <see cref="System.Data.DataTable"/> object.</returns>
Protected Overridable Function CreateDataTable() As DataTable
Dim dataTable As DataTable = new DataTable()
dataTable.TableName = "EmployeeTerritories"
Dim dataColumn As DataColumn
' Create the "EmployeeID" column
dataColumn = dataTable.Columns.Add("EmployeeID", GetType(Integer))
dataColumn.AllowDBNull = False
' Create the "TerritoryID" column
dataColumn = dataTable.Columns.Add("TerritoryID", GetType(String))
dataColumn.MaxLength = 20
dataColumn.AllowDBNull = False
Return dataTable
End Function
''' <summary>
''' Adds a new parameter to the specified command.
''' </summary>
''' <param name="cmd">The <see cref="System.Data.IDbCommand"/> object to add the parameter to.</param>
''' <param name="paramName">The name of the parameter.</param>
''' <param name="value">The value of the parameter.</param>
''' <returns>A reference to the added parameter.</returns>
Protected Overridable Function AddParameter(cmd As IDbCommand, paramName As String, _
value As Object) As IDbDataParameter
Dim parameter As IDbDataParameter
Select paramName
Case "EmployeeID"
parameter = _db.AddParameter(cmd, paramName, DbType.Int32, value)
Case "TerritoryID"
parameter = _db.AddParameter(cmd, paramName, DbType.String, value)
Case Else
Throw New ArgumentException("Unknown parameter name (" + paramName + ").")
End Select
Return parameter
End Function
End Class