' <fileinfo name="InvoicesCollection_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="InvoicesCollection"/>. Provides methods
''' for common database view operations.
''' </summary>
''' <remarks>
''' Do not change this source code. Update the <see cref="InvoicesCollection"/>
''' class if you need to add or change some functionality.
''' </remarks>
Public MustInherit Class InvoicesCollection_Base
' Constants
Public Const ShipNameColumnName As String = "ShipName"
Public Const ShipAddressColumnName As String = "ShipAddress"
Public Const ShipCityColumnName As String = "ShipCity"
Public Const ShipRegionColumnName As String = "ShipRegion"
Public Const ShipPostalCodeColumnName As String = "ShipPostalCode"
Public Const ShipCountryColumnName As String = "ShipCountry"
Public Const CustomerIDColumnName As String = "CustomerID"
Public Const CustomerNameColumnName As String = "CustomerName"
Public Const AddressColumnName As String = "Address"
Public Const CityColumnName As String = "City"
Public Const RegionColumnName As String = "Region"
Public Const PostalCodeColumnName As String = "PostalCode"
Public Const CountryColumnName As String = "Country"
Public Const SalespersonColumnName As String = "Salesperson"
Public Const OrderIDColumnName As String = "OrderID"
Public Const OrderDateColumnName As String = "OrderDate"
Public Const RequiredDateColumnName As String = "RequiredDate"
Public Const ShippedDateColumnName As String = "ShippedDate"
Public Const ShipperNameColumnName As String = "ShipperName"
Public Const ProductIDColumnName As String = "ProductID"
Public Const ProductNameColumnName As String = "ProductName"
Public Const UnitPriceColumnName As String = "UnitPrice"
Public Const QuantityColumnName As String = "Quantity"
Public Const DiscountColumnName As String = "Discount"
Public Const ExtendedPriceColumnName As String = "ExtendedPrice"
Public Const FreightColumnName As String = "Freight"
' Instance fields
Private _db As Northwind
''' <summary>
''' Initializes a new instance of the <see cref="InvoicesCollection_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 view 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>Invoices</c> view.
''' </summary>
''' <returns>An array of <see cref="InvoicesRow"/> objects.</returns>
Public Overridable Function GetAll() As InvoicesRow()
Return MapRecords(CreateGetAllCommand())
End Function
''' <summary>
''' Gets a <see cref="System.Data.DataTable"/> object that
''' includes all records from the <c>Invoices</c> view.
''' </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>Invoices</c> view.
''' </summary>
''' <returns>A reference to the <see cref="System.Data.IDbCommand"/> object.</returns>
Protected Overridable Function CreateGetAllCommand() As IDbCommand
Return _db.CreateCommand("dbo._Invoices_GetAll", True)
End Function
''' <summary>
''' Gets the first <see cref="InvoicesRow"/> 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="InvoicesRow"/> or null reference
''' (Nothing in Visual Basic) if the object was not found.</returns>
Public Function GetRow(whereSql As String) As InvoicesRow
Dim totalRecordCount As Integer = -1
Dim rows As InvoicesRow() = 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="InvoicesRow"/> 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="InvoicesRow"/> objects.</returns>
Public Function GetAsArray(whereSql As String, orderBySql As String) As InvoicesRow()
Dim totalRecordCount As Integer = -1
Return GetAsArray(whereSql, orderBySql, 0, Integer.MaxValue, totalRecordCount)
End Function
''' <summary>
''' Gets an array of <see cref="InvoicesRow"/> 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="InvoicesRow"/> objects.</returns>
Public Overridable Function GetAsArray(whereSql As String, orderBySql As String, _
startIndex As Integer, length As Integer, _
ByRef totalRecordCount As Integer) As InvoicesRow()
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].[Invoices]"
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>
''' 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="InvoicesRow"/> objects.</returns>
Protected Function MapRecords(command As IDbCommand) As InvoicesRow()
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 view.</param>
''' <returns>An array of <see cref="InvoicesRow"/> objects.</returns>
Protected Function MapRecords(reader As IDataReader) As InvoicesRow()
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 view.</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="InvoicesRow"/> objects.</returns>
Protected Overridable Function MapRecords(reader As IDataReader, startIndex As Integer, _
length As Integer, ByRef totalRecordCount As Integer) As InvoicesRow()
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 shipNameColumnIndex As Integer = reader.GetOrdinal("ShipName")
Dim shipAddressColumnIndex As Integer = reader.GetOrdinal("ShipAddress")
Dim shipCityColumnIndex As Integer = reader.GetOrdinal("ShipCity")
Dim shipRegionColumnIndex As Integer = reader.GetOrdinal("ShipRegion")
Dim shipPostalCodeColumnIndex As Integer = reader.GetOrdinal("ShipPostalCode")
Dim shipCountryColumnIndex As Integer = reader.GetOrdinal("ShipCountry")
Dim customerIDColumnIndex As Integer = reader.GetOrdinal("CustomerID")
Dim customerNameColumnIndex As Integer = reader.GetOrdinal("CustomerName")
Dim addressColumnIndex As Integer = reader.GetOrdinal("Address")
Dim cityColumnIndex As Integer = reader.GetOrdinal("City")
Dim regionColumnIndex As Integer = reader.GetOrdinal("Region")
Dim postalCodeColumnIndex As Integer = reader.GetOrdinal("PostalCode")
Dim countryColumnIndex As Integer = reader.GetOrdinal("Country")
Dim salespersonColumnIndex As Integer = reader.GetOrdinal("Salesperson")
Dim orderIDColumnIndex As Integer = reader.GetOrdinal("OrderID")
Dim orderDateColumnIndex As Integer = reader.GetOrdinal("OrderDate")
Dim requiredDateColumnIndex As Integer = reader.GetOrdinal("RequiredDate")
Dim shippedDateColumnIndex As Integer = reader.GetOrdinal("ShippedDate")
Dim shipperNameColumnIndex As Integer = reader.GetOrdinal("ShipperName")
Dim productIDColumnIndex As Integer = reader.GetOrdinal("ProductID")
Dim productNameColumnIndex As Integer = reader.GetOrdinal("ProductName")
Dim unitPriceColumnIndex As Integer = reader.GetOrdinal("UnitPrice")
Dim quantityColumnIndex As Integer = reader.GetOrdinal("Quantity")
Dim discountColumnIndex As Integer = reader.GetOrdinal("Discount")
Dim extendedPriceColumnIndex As Integer = reader.GetOrdinal("ExtendedPrice")
Dim freightColumnIndex As Integer = reader.GetOrdinal("Freight")
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 InvoicesRow = New InvoicesRow()
recordList.Add(record)
If Not reader.IsDBNull(shipNameColumnIndex) Then
record.ShipName = Convert.ToString(reader.GetValue(shipNameColumnIndex))
End If
If Not reader.IsDBNull(shipAddressColumnIndex) Then
record.ShipAddress = Convert.ToString(reader.GetValue(shipAddressColumnIndex))
End If
If Not reader.IsDBNull(shipCityColumnIndex) Then
record.ShipCity = Convert.ToString(reader.GetValue(shipCityColumnIndex))
End If
If Not reader.IsDBNull(shipRegionColumnIndex) Then
record.ShipRegion = Convert.ToString(reader.GetValue(shipRegionColumnIndex))
End If
If Not reader.IsDBNull(shipPostalCodeColumnIndex) Then
record.ShipPostalCode = Convert.ToString(reader.GetValue(shipPostalCodeColumnIndex))
End If
If Not reader.IsDBNull(shipCountryColumnIndex) Then
record.ShipCountry = Convert.ToString(reader.GetValue(shipCountryColumnIndex))
End If
If Not reader.IsDBNull(customerIDColumnIndex) Then
record.CustomerID = Convert.ToString(reader.GetValue(customerIDColumnIndex))
End If
record.CustomerName = Convert.ToString(reader.GetValue(customerNameColumnIndex))
If Not reader.IsDBNull(addressColumnIndex) Then
record.Address = Convert.ToString(reader.GetValue(addressColumnIndex))
End If
If Not reader.IsDBNull(cityColumnIndex) Then
record.City = Convert.ToString(reader.GetValue(cityColumnIndex))
End If
If Not reader.IsDBNull(regionColumnIndex) Then
record.Region = Convert.ToString(reader.GetValue(regionColumnIndex))
End If
If Not reader.IsDBNull(postalCodeColumnIndex) Then
record.PostalCode = Convert.ToString(reader.GetValue(postalCodeColumnIndex))
End If
If Not reader.IsDBNull(countryColumnIndex) Then
record.Country = Convert.ToString(reader.GetValue(countryColumnIndex))
End If
record.Salesperson = Convert.ToString(reader.GetValue(salespersonColumnIndex))
record.OrderID = Convert.ToInt32(reader.GetValue(orderIDColumnIndex))
If Not reader.IsDBNull(orderDateColumnIndex) Then
record.OrderDate = Convert.ToDateTime(reader.GetValue(orderDateColumnIndex))
End If
If Not reader.IsDBNull(requiredDateColumnIndex) Then
record.RequiredDate = Convert.ToDateTime(reader.GetValue(requiredDateColumnIndex))
End If
If Not reader.IsDBNull(shippedDateColumnIndex) Then
record.ShippedDate = Convert.ToDateTime(reader.GetValue(shippedDateColumnIndex))
End If
record.ShipperName = Convert.ToString(reader.GetValue(shipperNameColumnIndex))
record.ProductID = Convert.ToInt32(reader.GetValue(productIDColumnIndex))
record.ProductName = Convert.ToString(reader.GetValue(productNameColumnIndex))
record.UnitPrice = Convert.ToDecimal(reader.GetValue(unitPriceColumnIndex))
record.Quantity = Convert.ToInt16(reader.GetValue(quantityColumnIndex))
record.Discount = Convert.ToSingle(reader.GetValue(discountColumnIndex))
If Not reader.IsDBNull(extendedPriceColumnIndex) Then
record.ExtendedPrice = Convert.ToDecimal(reader.GetValue(extendedPriceColumnIndex))
End If
If Not reader.IsDBNull(freightColumnIndex) Then
record.Freight = Convert.ToDecimal(reader.GetValue(freightColumnIndex))
End If
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(InvoicesRow)), InvoicesRow())
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 view.</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 view.</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="InvoicesRow"/>.
''' </summary>
''' <param name="row">The <see cref="System.Data.DataRow"/> object to be mapped.</param>
''' <returns>A reference to the <see cref="InvoicesRow"/> object.</returns>
Protected Overridable Function MapRow(row As DataRow) As InvoicesRow
Dim mappedObject As InvoicesRow = New InvoicesRow()
Dim dataTable As DataTable = row.Table
Dim dataColumn As DataColumn
' Column "ShipName"
dataColumn = dataTable.Columns("ShipName")
If Not row.IsNull(dataColumn) Then
mappedObject.ShipName = CType(row(dataColumn), String)
End If
' Column "ShipAddress"
dataColumn = dataTable.Columns("ShipAddress")
If Not row.IsNull(dataColumn) Then
mappedObject.ShipAddress = CType(row(dataColumn), String)
End If
' Column "ShipCity"
dataColumn = dataTable.Columns("ShipCity")
If Not row.IsNull(dataColumn) Then
mappedObject.ShipCity = CType(row(dataColumn), String)
End If
' Column "ShipRegion"
dataColumn = dataTable.Columns("ShipRegion")
If Not row.IsNull(dataColumn) Then
mappedObject.ShipRegion = CType(row(dataColumn), String)
End If
' Column "ShipPostalCode"
dataColumn = dataTable.Columns("ShipPostalCode")
If Not row.IsNull(dataColumn) Then
mappedObject.ShipPostalCode = CType(row(dataColumn), String)
End If
' Column "ShipCountry"
dataColumn = dataTable.Columns("ShipCountry")
If Not row.IsNull(dataColumn) Then
mappedObject.ShipCountry = CType(row(dataColumn), String)
End If
' Column "CustomerID"
dataColumn = dataTable.Columns("CustomerID")
If Not row.IsNull(dataColumn) Then
mappedObject.CustomerID = CType(row(dataColumn), String)
End If
' Column "CustomerName"
dataColumn = dataTable.Columns("CustomerName")
If Not row.IsNull(dataColumn) Then
mappedObject.CustomerName = CType(row(dataColumn), String)
End If
' Column "Address"
dataColumn = dataTable.Columns("Address")
If Not row.IsNull(dataColumn) Then
mappedObject.Address = CType(row(dataColumn), String)
End If
' Column "City"
dataColumn = dataTable.Columns("City")
If Not row.IsNull(dataColumn) Then
mappedObject.City = CType(row(dataColumn), String)
End If
' Column "Region"
dataColumn = dataTable.Columns("Region")
If Not row.IsNull(dataColumn) Then
mappedObject.Region = CType(row(dataColumn), String)
End If
' Column "PostalCode"
dataColumn = dataTable.Columns("PostalCode")
If Not row.IsNull(dataColumn) Then
mappedObject.PostalCode = CType(row(dataColumn), String)
End If
' Column "Country"
dataColumn = dataTable.Columns("Country")
If Not row.IsNull(dataColumn) Then
mappedObject.Country = CType(row(dataColumn), String)
End If
' Column "Salesperson"
dataColumn = dataTable.Columns("Salesperson")
If Not row.IsNull(dataColumn) Then
mappedObject.Salesperson = CType(row(dataColumn), String)
End If
' Column "OrderID"
dataColumn = dataTable.Columns("OrderID")
If Not row.IsNull(dataColumn) Then
mappedObject.OrderID = CType(row(dataColumn), Integer)
End If
' Column "OrderDate"
dataColumn = dataTable.Columns("OrderDate")
If Not row.IsNull(dataColumn) Then
mappedObject.OrderDate = CType(row(dataColumn), Date)
End If
' Column "RequiredDate"
dataColumn = dataTable.Columns("RequiredDate")
If Not row.IsNull(dataColumn) Then
mappedObject.RequiredDate = CType(row(dataColumn), Date)
End If
' Column "ShippedDate"
dataColumn = dataTable.Columns("ShippedDate")
If Not row.IsNull(dataColumn) Then
mappedObject.ShippedDate = CType(row(dataColumn), Date)
End If
' Column "ShipperName"
dataColumn = dataTable.Columns("ShipperName")
If Not row.IsNull(dataColumn) Then
mappedObject.ShipperName = CType(row(dataColumn), String)
End If
' Column "ProductID"
dataColumn = dataTable.Columns("ProductID")
If Not row.IsNull(dataColumn) Then
mappedObject.ProductID = CType(row(dataColumn), Integer)
End If
' Column "ProductName"
dataColumn = dataTable.Columns("ProductName")
If Not row.IsNull(dataColumn) Then
mappedObject.ProductName = CType(row(dataColumn), String)
End If
' Column "UnitPrice"
dataColumn = dataTable.Columns("UnitPrice")
If Not row.IsNull(dataColumn) Then
mappedObject.UnitPrice = CType(row(dataColumn), Decimal)
End If
' Column "Quantity"
dataColumn = dataTable.Columns("Quantity")
If Not row.IsNull(dataColumn) Then
mappedObject.Quantity = CType(row(dataColumn), Short)
End If
' Column "Discount"
dataColumn = dataTable.Columns("Discount")
If Not row.IsNull(dataColumn) Then
mappedObject.Discount = CType(row(dataColumn), Single)
End If
' Column "ExtendedPrice"
dataColumn = dataTable.Columns("ExtendedPrice")
If Not row.IsNull(dataColumn) Then
mappedObject.ExtendedPrice = CType(row(dataColumn), Decimal)
End If
' Column "Freight"
dataColumn = dataTable.Columns("Freight")
If Not row.IsNull(dataColumn) Then
mappedObject.Freight = CType(row(dataColumn), Decimal)
End If
Return mappedObject
End Function
''' <summary>
''' Creates a <see cref="System.Data.DataTable"/> object for
''' the <c>Invoices</c> view.
''' </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 = "Invoices"
Dim dataColumn As DataColumn
' Create the "ShipName" column
dataColumn = dataTable.Columns.Add("ShipName", GetType(String))
dataColumn.MaxLength = 40
dataColumn.ReadOnly = True
' Create the "ShipAddress" column
dataColumn = dataTable.Columns.Add("ShipAddress", GetType(String))
dataColumn.MaxLength = 60
dataColumn.ReadOnly = True
' Create the "ShipCity" column
dataColumn = dataTable.Columns.Add("ShipCity", GetType(String))
dataColumn.MaxLength = 15
dataColumn.ReadOnly = True
' Create the "ShipRegion" column
dataColumn = dataTable.Columns.Add("ShipRegion", GetType(String))
dataColumn.MaxLength = 15
dataColumn.ReadOnly = True
' Create the "ShipPostalCode" column
dataColumn = dataTable.Columns.Add("ShipPostalCode", GetType(String))
dataColumn.MaxLength = 10
dataColumn.ReadOnly = True
' Create the "ShipCountry" column
dataColumn = dataTable.Columns.Add("ShipCountry", GetType(String))
dataColumn.MaxLength = 15
dataColumn.ReadOnly = True
' Create the "CustomerID" column
dataColumn = dataTable.Columns.Add("CustomerID", GetType(String))
dataColumn.MaxLength = 5
dataColumn.ReadOnly = True
' Create the "CustomerName" column
dataColumn = dataTable.Columns.Add("CustomerName", GetType(String))
dataColumn.MaxLength = 40
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "Address" column
dataColumn = dataTable.Columns.Add("Address", GetType(String))
dataColumn.MaxLength = 60
dataColumn.ReadOnly = True
' Create the "City" column
dataColumn = dataTable.Columns.Add("City", GetType(String))
dataColumn.MaxLength = 15
dataColumn.ReadOnly = True
' Create the "Region" column
dataColumn = dataTable.Columns.Add("Region", GetType(String))
dataColumn.MaxLength = 15
dataColumn.ReadOnly = True
' Create the "PostalCode" column
dataColumn = dataTable.Columns.Add("PostalCode", GetType(String))
dataColumn.MaxLength = 10
dataColumn.ReadOnly = True
' Create the "Country" column
dataColumn = dataTable.Columns.Add("Country", GetType(String))
dataColumn.MaxLength = 15
dataColumn.ReadOnly = True
' Create the "Salesperson" column
dataColumn = dataTable.Columns.Add("Salesperson", GetType(String))
dataColumn.MaxLength = 31
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "OrderID" column
dataColumn = dataTable.Columns.Add("OrderID", GetType(Integer))
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "OrderDate" column
dataColumn = dataTable.Columns.Add("OrderDate", GetType(Date))
dataColumn.ReadOnly = True
' Create the "RequiredDate" column
dataColumn = dataTable.Columns.Add("RequiredDate", GetType(Date))
dataColumn.ReadOnly = True
' Create the "ShippedDate" column
dataColumn = dataTable.Columns.Add("ShippedDate", GetType(Date))
dataColumn.ReadOnly = True
' Create the "ShipperName" column
dataColumn = dataTable.Columns.Add("ShipperName", GetType(String))
dataColumn.MaxLength = 40
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "ProductID" column
dataColumn = dataTable.Columns.Add("ProductID", GetType(Integer))
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "ProductName" column
dataColumn = dataTable.Columns.Add("ProductName", GetType(String))
dataColumn.MaxLength = 40
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "UnitPrice" column
dataColumn = dataTable.Columns.Add("UnitPrice", GetType(Decimal))
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "Quantity" column
dataColumn = dataTable.Columns.Add("Quantity", GetType(Short))
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "Discount" column
dataColumn = dataTable.Columns.Add("Discount", GetType(Single))
dataColumn.AllowDBNull = False
dataColumn.ReadOnly = True
' Create the "ExtendedPrice" column
dataColumn = dataTable.Columns.Add("ExtendedPrice", GetType(Decimal))
dataColumn.ReadOnly = True
' Crea