'------------------------------------------------------------------------------
'
' This code was generated by a tool.
' Runtime Version: 1.0.3705.209
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
'
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports System
Imports System.Data
Imports System.Runtime.Serialization
Imports System.Xml
_
Public Class Northwind
Inherits DataSet
Private tableCustomers As CustomersDataTable
Private tableOrders As OrdersDataTable
Private tableOrder_Details As Order_DetailsDataTable
Private relationCustomersOrders As DataRelation
Private relationOrdersOrder_Details As DataRelation
Public Sub New()
MyBase.New
Me.InitClass
Dim schemaChangedHandler As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
AddHandler Me.Tables.CollectionChanged, schemaChangedHandler
AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
End Sub
Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext)
MyBase.New
Dim strSchema As String = CType(info.GetValue("XmlSchema", GetType(System.String)),String)
If (Not (strSchema) Is Nothing) Then
Dim ds As DataSet = New DataSet
ds.ReadXmlSchema(New XmlTextReader(New System.IO.StringReader(strSchema)))
If (Not (ds.Tables("Customers")) Is Nothing) Then
Me.Tables.Add(New CustomersDataTable(ds.Tables("Customers")))
End If
If (Not (ds.Tables("Orders")) Is Nothing) Then
Me.Tables.Add(New OrdersDataTable(ds.Tables("Orders")))
End If
If (Not (ds.Tables("Order_Details")) Is Nothing) Then
Me.Tables.Add(New Order_DetailsDataTable(ds.Tables("Order_Details")))
End If
Me.DataSetName = ds.DataSetName
Me.Prefix = ds.Prefix
Me.Namespace = ds.Namespace
Me.Locale = ds.Locale
Me.CaseSensitive = ds.CaseSensitive
Me.EnforceConstraints = ds.EnforceConstraints
Me.Merge(ds, false, System.Data.MissingSchemaAction.Add)
Me.InitVars
Else
Me.InitClass
End If
Me.GetSerializationData(info, context)
Dim schemaChangedHandler As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
AddHandler Me.Tables.CollectionChanged, schemaChangedHandler
AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
End Sub
_
Public ReadOnly Property Customers As CustomersDataTable
Get
Return Me.tableCustomers
End Get
End Property
_
Public ReadOnly Property Orders As OrdersDataTable
Get
Return Me.tableOrders
End Get
End Property
_
Public ReadOnly Property Order_Details As Order_DetailsDataTable
Get
Return Me.tableOrder_Details
End Get
End Property
Public Overrides Function Clone() As DataSet
Dim cln As Northwind = CType(MyBase.Clone,Northwind)
cln.InitVars
Return cln
End Function
Protected Overrides Function ShouldSerializeTables() As Boolean
Return false
End Function
Protected Overrides Function ShouldSerializeRelations() As Boolean
Return false
End Function
Protected Overrides Sub ReadXmlSerializable(ByVal reader As XmlReader)
Me.Reset
Dim ds As DataSet = New DataSet
ds.ReadXml(reader)
If (Not (ds.Tables("Customers")) Is Nothing) Then
Me.Tables.Add(New CustomersDataTable(ds.Tables("Customers")))
End If
If (Not (ds.Tables("Orders")) Is Nothing) Then
Me.Tables.Add(New OrdersDataTable(ds.Tables("Orders")))
End If
If (Not (ds.Tables("Order_Details")) Is Nothing) Then
Me.Tables.Add(New Order_DetailsDataTable(ds.Tables("Order_Details")))
End If
Me.DataSetName = ds.DataSetName
Me.Prefix = ds.Prefix
Me.Namespace = ds.Namespace
Me.Locale = ds.Locale
Me.CaseSensitive = ds.CaseSensitive
Me.EnforceConstraints = ds.EnforceConstraints
Me.Merge(ds, false, System.Data.MissingSchemaAction.Add)
Me.InitVars
End Sub
Protected Overrides Function GetSchemaSerializable() As System.Xml.Schema.XmlSchema
Dim stream As System.IO.MemoryStream = New System.IO.MemoryStream
Me.WriteXmlSchema(New XmlTextWriter(stream, Nothing))
stream.Position = 0
Return System.Xml.Schema.XmlSchema.Read(New XmlTextReader(stream), Nothing)
End Function
Friend Sub InitVars()
Me.tableCustomers = CType(Me.Tables("Customers"),CustomersDataTable)
If (Not (Me.tableCustomers) Is Nothing) Then
Me.tableCustomers.InitVars
End If
Me.tableOrders = CType(Me.Tables("Orders"),OrdersDataTable)
If (Not (Me.tableOrders) Is Nothing) Then
Me.tableOrders.InitVars
End If
Me.tableOrder_Details = CType(Me.Tables("Order_Details"),Order_DetailsDataTable)
If (Not (Me.tableOrder_Details) Is Nothing) Then
Me.tableOrder_Details.InitVars
End If
Me.relationCustomersOrders = Me.Relations("CustomersOrders")
Me.relationOrdersOrder_Details = Me.Relations("OrdersOrder_Details")
End Sub
Private Sub InitClass()
Me.DataSetName = "Northwind"
Me.Prefix = ""
Me.Namespace = "http://tempuri.org/Northwind.xsd"
Me.Locale = New System.Globalization.CultureInfo("en-US")
Me.CaseSensitive = false
Me.EnforceConstraints = true
Me.tableCustomers = New CustomersDataTable
Me.Tables.Add(Me.tableCustomers)
Me.tableOrders = New OrdersDataTable
Me.Tables.Add(Me.tableOrders)
Me.tableOrder_Details = New Order_DetailsDataTable
Me.Tables.Add(Me.tableOrder_Details)
Dim fkc As ForeignKeyConstraint
fkc = New ForeignKeyConstraint("CustomersOrders", New DataColumn() {Me.tableCustomers.CustomerIDColumn}, New DataColumn() {Me.tableOrders.CustomerIDColumn})
Me.tableOrders.Constraints.Add(fkc)
fkc.AcceptRejectRule = AcceptRejectRule.None
fkc.DeleteRule = Rule.Cascade
fkc.UpdateRule = Rule.Cascade
fkc = New ForeignKeyConstraint("OrdersOrder_Details", New DataColumn() {Me.tableOrders.OrderIDColumn}, New DataColumn() {Me.tableOrder_Details.OrderIDColumn})
Me.tableOrder_Details.Constraints.Add(fkc)
fkc.AcceptRejectRule = AcceptRejectRule.None
fkc.DeleteRule = Rule.Cascade
fkc.UpdateRule = Rule.Cascade
Me.relationCustomersOrders = New DataRelation("CustomersOrders", New DataColumn() {Me.tableCustomers.CustomerIDColumn}, New DataColumn() {Me.tableOrders.CustomerIDColumn}, false)
Me.Relations.Add(Me.relationCustomersOrders)
Me.relationOrdersOrder_Details = New DataRelation("OrdersOrder_Details", New DataColumn() {Me.tableOrders.OrderIDColumn}, New DataColumn() {Me.tableOrder_Details.OrderIDColumn}, false)
Me.Relations.Add(Me.relationOrdersOrder_Details)
End Sub
Private Function ShouldSerializeCustomers() As Boolean
Return false
End Function
Private Function ShouldSerializeOrders() As Boolean
Return false
End Function
Private Function ShouldSerializeOrder_Details() As Boolean
Return false
End Function
Private Sub SchemaChanged(ByVal sender As Object, ByVal e As System.ComponentModel.CollectionChangeEventArgs)
If (e.Action = System.ComponentModel.CollectionChangeAction.Remove) Then
Me.InitVars
End If
End Sub
Public Delegate Sub CustomersRowChangeEventHandler(ByVal sender As Object, ByVal e As CustomersRowChangeEvent)
Public Delegate Sub OrdersRowChangeEventHandler(ByVal sender As Object, ByVal e As OrdersRowChangeEvent)
Public Delegate Sub Order_DetailsRowChangeEventHandler(ByVal sender As Object, ByVal e As Order_DetailsRowChangeEvent)
_
Public Class CustomersDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columnCustomerID As DataColumn
Private columnCompanyName As DataColumn
Private columnContactName As DataColumn
Private columnContactTitle As DataColumn
Private columnAddress As DataColumn
Private columnCity As DataColumn
Private column_Region As DataColumn
Private columnPostalCode As DataColumn
Private columnCountry As DataColumn
Private columnPhone As DataColumn
Private columnFax As DataColumn
Friend Sub New()
MyBase.New("Customers")
Me.InitClass
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
End Sub
_
Public ReadOnly Property Count As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property CustomerIDColumn As DataColumn
Get
Return Me.columnCustomerID
End Get
End Property
Friend ReadOnly Property CompanyNameColumn As DataColumn
Get
Return Me.columnCompanyName
End Get
End Property
Friend ReadOnly Property ContactNameColumn As DataColumn
Get
Return Me.columnContactName
End Get
End Property
Friend ReadOnly Property ContactTitleColumn As DataColumn
Get
Return Me.columnContactTitle
End Get
End Property
Friend ReadOnly Property AddressColumn As DataColumn
Get
Return Me.columnAddress
End Get
End Property
Friend ReadOnly Property CityColumn As DataColumn
Get
Return Me.columnCity
End Get
End Property
Friend ReadOnly Property _RegionColumn As DataColumn
Get
Return Me.column_Region
End Get
End Property
Friend ReadOnly Property PostalCodeColumn As DataColumn
Get
Return Me.columnPostalCode
End Get
End Property
Friend ReadOnly Property CountryColumn As DataColumn
Get
Return Me.columnCountry
End Get
End Property
Friend ReadOnly Property PhoneColumn As DataColumn
Get
Return Me.columnPhone
End Get
End Property
Friend ReadOnly Property FaxColumn As DataColumn
Get
Return Me.columnFax
End Get
End Property
Public Default ReadOnly Property Item(ByVal index As Integer) As CustomersRow
Get
Return CType(Me.Rows(index),CustomersRow)
End Get
End Property
Public Event CustomersRowChanged As CustomersRowChangeEventHandler
Public Event CustomersRowChanging As CustomersRowChangeEventHandler
Public Event CustomersRowDeleted As CustomersRowChangeEventHandler
Public Event CustomersRowDeleting As CustomersRowChangeEventHandler
Public Overloads Sub AddCustomersRow(ByVal row As CustomersRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddCustomersRow(ByVal CustomerID As String, ByVal CompanyName As String, ByVal ContactName As String, ByVal ContactTitle As String, ByVal Address As String, ByVal City As String, ByVal _Region As String, ByVal PostalCode As String, ByVal Country As String, ByVal Phone As String, ByVal Fax As String) As CustomersRow
Dim rowCustomersRow As CustomersRow = CType(Me.NewRow,CustomersRow)
rowCustomersRow.ItemArray = New Object() {CustomerID, CompanyName, ContactName, ContactTitle, Address, City, _Region, PostalCode, Country, Phone, Fax}
Me.Rows.Add(rowCustomersRow)
Return rowCustomersRow
End Function
Public Function FindByCustomerID(ByVal CustomerID As String) As CustomersRow
Return CType(Me.Rows.Find(New Object() {CustomerID}),CustomersRow)
End Function
Public Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
Return Me.Rows.GetEnumerator
End Function
Public Overrides Function Clone() As DataTable
Dim cln As CustomersDataTable = CType(MyBase.Clone,CustomersDataTable)
cln.InitVars
Return cln
End Function
Protected Overrides Function CreateInstance() As DataTable
Return New CustomersDataTable
End Function
Friend Sub InitVars()
Me.columnCustomerID = Me.Columns("CustomerID")
Me.columnCompanyName = Me.Columns("CompanyName")
Me.columnContactName = Me.Columns("ContactName")
Me.columnContactTitle = Me.Columns("ContactTitle")
Me.columnAddress = Me.Columns("Address")
Me.columnCity = Me.Columns("City")
Me.column_Region = Me.Columns("Region")
Me.columnPostalCode = Me.Columns("PostalCode")
Me.columnCountry = Me.Columns("Country")
Me.columnPhone = Me.Columns("Phone")
Me.columnFax = Me.Columns("Fax")
End Sub
Private Sub InitClass()
Me.columnCustomerID = New DataColumn("CustomerID", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnCustomerID)
Me.columnCompanyName = New DataColumn("CompanyName", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnCompanyName)
Me.columnContactName = New DataColumn("ContactName", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnContactName)
Me.columnContactTitle = New DataColumn("ContactTitle", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnContactTitle)
Me.columnAddress = New DataColumn("Address", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnAddress)
Me.columnCity = New DataColumn("City", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnCity)
Me.column_Region = New DataColumn("Region", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.column_Region)
Me.columnPostalCode = New DataColumn("PostalCode", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnPostalCode)
Me.columnCountry = New DataColumn("Country", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnCountry)
Me.columnPhone = New DataColumn("Phone", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnPhone)
Me.columnFax = New DataColumn("Fax", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnFax)
Me.Constraints.Add(New UniqueConstraint("NorthwindKey1", New DataColumn() {Me.columnCustomerID}, true))
Me.columnCustomerID.AllowDBNull = false
Me.columnCustomerID.Unique = true
Me.columnCompanyName.AllowDBNull = false
End Sub
Public Function NewCustomersRow() As CustomersRow
Return CType(Me.NewRow,CustomersRow)
End Function
Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
Return New CustomersRow(builder)
End Function
Protected Overrides Function GetRowType() As System.Type
Return GetType(CustomersRow)
End Function
Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.CustomersRowChangedEvent) Is Nothing) Then
RaiseEvent CustomersRowChanged(Me, New CustomersRowChangeEvent(CType(e.Row,CustomersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.CustomersRowChangingEvent) Is Nothing) Then
RaiseEvent CustomersRowChanging(Me, New CustomersRowChangeEvent(CType(e.Row,CustomersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.CustomersRowDeletedEvent) Is Nothing) Then
RaiseEvent CustomersRowDeleted(Me, New CustomersRowChangeEvent(CType(e.Row,CustomersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.CustomersRowDeletingEvent) Is Nothing) Then
RaiseEvent CustomersRowDeleting(Me, New CustomersRowChangeEvent(CType(e.Row,CustomersRow), e.Action))
End If
End Sub
Public Sub RemoveCustomersRow(ByVal row As CustomersRow)
Me.Rows.Remove(row)
End Sub
End Class
_
Public Class CustomersRow
Inherits DataRow
Private tableCustomers As CustomersDataTable
Friend Sub New(ByVal rb As DataRowBuilder)
MyBase.New(rb)
Me.tableCustomers = CType(Me.Table,CustomersDataTable)
End Sub
Public Property CustomerID As String
Get
Return CType(Me(Me.tableCustomers.CustomerIDColumn),String)
End Get
Set
Me(Me.tableCustomers.CustomerIDColumn) = value
End Set
End Property
Public Property CompanyName As String
Get
Return CType(Me(Me.tableCustomers.CompanyNameColumn),String)
End Get
Set
Me(Me.tableCustomers.CompanyNameColumn) = value
End Set
End Property
Public Property ContactName As String
Get
Try
Return CType(Me(Me.tableCustomers.ContactNameColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers.ContactNameColumn) = value
End Set
End Property
Public Property ContactTitle As String
Get
Try
Return CType(Me(Me.tableCustomers.ContactTitleColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers.ContactTitleColumn) = value
End Set
End Property
Public Property Address As String
Get
Try
Return CType(Me(Me.tableCustomers.AddressColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers.AddressColumn) = value
End Set
End Property
Public Property City As String
Get
Try
Return CType(Me(Me.tableCustomers.CityColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers.CityColumn) = value
End Set
End Property
Public Property _Region As String
Get
Try
Return CType(Me(Me.tableCustomers._RegionColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers._RegionColumn) = value
End Set
End Property
Public Property PostalCode As String
Get
Try
Return CType(Me(Me.tableCustomers.PostalCodeColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers.PostalCodeColumn) = value
End Set
End Property
Public Property Country As String
Get
Try
Return CType(Me(Me.tableCustomers.CountryColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers.CountryColumn) = value
End Set
End Property
Public Property Phone As String
Get
Try
Return CType(Me(Me.tableCustomers.PhoneColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers.PhoneColumn) = value
End Set
End Property
Public Property Fax As String
Get
Try
Return CType(Me(Me.tableCustomers.FaxColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableCustomers.FaxColumn) = value
End Set
End Property
Public Function IsContactNameNull() As Boolean
Return Me.IsNull(Me.tableCustomers.ContactNameColumn)
End Function
Public Sub SetContactNameNull()
Me(Me.tableCustomers.ContactNameColumn) = System.Convert.DBNull
End Sub
Public Function IsContactTitleNull() As Boolean
Return Me.IsNull(Me.tableCustomers.ContactTitleColumn)
End Function
Public Sub SetContactTitleNull()
Me(Me.tableCustomers.ContactTitleColumn) = System.Convert.DBNull
End Sub
Public Function IsAddressNull() As Boolean
Return Me.IsNull(Me.tableCustomers.AddressColumn)
End Function
Public Sub SetAddressNull()
Me(Me.tableCustomers.AddressColumn) = System.Convert.DBNull
End Sub
Public Function IsCityNull() As Boolean
Return Me.IsNull(Me.tableCustomers.CityColumn)
End Function
Public Sub SetCityNull()
Me(Me.tableCustomers.CityColumn) = System.Convert.DBNull
End Sub
Public Function Is_RegionNull() As Boolean
Return Me.IsNull(Me.tableCustomers._RegionColumn)
End Function
Public Sub Set_RegionNull()
Me(Me.tableCustomers._RegionColumn) = System.Convert.DBNull
End Sub
Public Function IsPostalCodeNull() As Boolean
Return Me.IsNull(Me.tableCustomers.PostalCodeColumn)
End Function
Public Sub SetPostalCodeNull()
Me(Me.tableCustomers.PostalCodeColumn) = System.Convert.DBNull
End Sub
Public Function IsCountryNull() As Boolean
Return Me.IsNull(Me.tableCustomers.CountryColumn)
End Function
Public Sub SetCountryNull()
Me(Me.tableCustomers.CountryColumn) = System.Convert.DBNull
End Sub
Public Function IsPhoneNull() As Boolean
Return Me.IsNull(Me.tableCustomers.PhoneColumn)
End Function
Public Sub SetPhoneNull()
Me(Me.tableCustomers.PhoneColumn) = System.Convert.DBNull
End Sub
Public Function IsFaxNull() As Boolean
Return Me.IsNull(Me.tableCustomers.FaxColumn)
End Function
Public Sub SetFaxNull()
Me(Me.tableCustomers.FaxColumn) = System.Convert.DBNull
End Sub
Public Function GetOrdersRows() As OrdersRow()
Return CType(Me.GetChildRows(Me.Table.ChildRelations("CustomersOrders")),OrdersRow())
End Function
End Class
_
Public Class CustomersRowChangeEvent
Inherits EventArgs
Private eventRow As CustomersRow
Private eventAction As DataRowAction
Public Sub New(ByVal row As CustomersRow, ByVal action As DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row As CustomersRow
Get
Return Me.eventRow
End Get
End Property
Public ReadOnly Property Action As DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
_
Public Class OrdersDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columnOrderID As DataColumn
Private columnCustomerID As DataColumn
Private columnEmployeeID As DataColumn
Private columnOrderDate As DataColumn
Private columnRequiredDate As DataColumn
Private columnShippedDate As DataColumn
Private columnShipVia As DataColumn
Private columnFreight As DataColumn
Private columnShipName As DataColumn
Private columnShipAddress As DataColumn
Private columnShipCity As DataColumn
Private columnShipRegion As DataColumn
Private columnShipPostalCode As DataColumn
Private columnShipCountry As DataColumn
Friend Sub New()
MyBase.New("Orders")
Me.InitClass
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
End Sub
_
Public ReadOnly Property Count As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property OrderIDColumn As DataColumn
Get
Return Me.columnOrderID
End Get
End Property
Friend ReadOnly Property CustomerIDColumn As DataColumn
Get
Return Me.columnCustomerID
End Get
End Property
Friend ReadOnly Property EmployeeIDColumn As DataColumn
Get
Return Me.columnEmployeeID
End Get
End Property
Friend ReadOnly Property OrderDateColumn As DataColumn
Get
Return Me.columnOrderDate
End Get
End Property
Friend ReadOnly Property RequiredDateColumn As DataColumn
Get
Return Me.columnRequiredDate
End Get
End Property
Friend ReadOnly Property ShippedDateColumn As DataColumn
Get
Return Me.columnShippedDate
End Get
End Property
Friend ReadOnly Property ShipViaColumn As DataColumn
Get
Return Me.columnShipVia
End Get
End Property
Friend ReadOnly Property FreightColumn As DataColumn
Get
Return Me.columnFreight
End Get
End Property
Friend ReadOnly Property ShipNameColumn As DataColumn
Get
Return Me.columnShipName
End Get
End Property
Friend ReadOnly Property ShipAddressColumn As DataColumn
Get
Return Me.columnShipAddress
End Get
End Property
Friend ReadOnly Property ShipCityColumn As DataColumn
Get
Return Me.columnShipCity
End Get
End Property
Friend ReadOnly Property ShipRegionColumn As DataColumn
Get
Return Me.columnShipRegion
End Get
End Property
Friend ReadOnly Property ShipPostalCodeColumn As DataColumn
Get
Return Me.columnShipPostalCode
End Get
End Property
Friend ReadOnly Property ShipCountryColumn As DataColumn
Get
Return Me.columnShipCountry
End Get
End Property
Public Default ReadOnly Property Item(ByVal index As Integer) As OrdersRow
Get
Return CType(Me.Rows(index),OrdersRow)
End Get
End Property
Public Event OrdersRowChanged As OrdersRowChangeEventHandler
Public Event OrdersRowChanging As OrdersRowChangeEventHandler
Public Event OrdersRowDeleted As OrdersRowChangeEventHandler
Public Event OrdersRowDeleting As OrdersRowChangeEventHandler
Public Overloads Sub AddOrdersRow(ByVal row As OrdersRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddOrdersRow(ByVal parentCustomersRowByCustomersOrders As CustomersRow, ByVal EmployeeID As Integer, ByVal OrderDate As Date, ByVal RequiredDate As Date, ByVal ShippedDate As Date, ByVal ShipVia As Integer, ByVal Freight As Decimal, ByVal ShipName As String, ByVal ShipAddress As String, ByVal ShipCity As String, ByVal ShipRegion As String, ByVal ShipPostalCode As String, ByVal ShipCountry As String) As OrdersRow
Dim rowOrdersRow As OrdersRow = CType(Me.NewRow,OrdersRow)
rowOrdersRow.ItemArray = New Object() {Nothing, parentCustomersRowByCustomersOrders(0), EmployeeID, OrderDate, RequiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry}
Me.Rows.Add(rowOrdersRow)
Return rowOrdersRow
End Function
Public Function FindByOrderID(ByVal OrderID As Integer) As OrdersRow
Return CType(Me.Rows.Find(New Object() {OrderID}),OrdersRow)
End Function
Public Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
Return Me.Rows.GetEnumerator
End Function
Public Overrides Function Clone() As DataTable
Dim cln As OrdersDataTable = CType(MyBase.Clone,OrdersDataTable)
cln.InitVars
Return cln
End Function
Protected Overrides Function CreateInstance() As DataTable
Return New OrdersDataTable
End Function
Friend Sub InitVars()
Me.columnOrderID = Me.Columns("OrderID")
Me.columnCustomerID = Me.Columns("CustomerID")
Me.columnEmployeeID = Me.Columns("EmployeeID")
Me.columnOrderDate = Me.Columns("OrderDate")
Me.columnRequiredDate = Me.Columns("RequiredDate")
Me.columnShippedDate = Me.Columns("ShippedDate")
Me.columnShipVia = Me.Columns("ShipVia")
Me.columnFreight = Me.Columns("Freight")
Me.columnShipName = Me.Columns("ShipName")
Me.columnShipAddress = Me.Columns("ShipAddress")
Me.columnShipCity = Me.Columns("ShipCity")
Me.columnShipRegion = Me.Columns("ShipRegion")
Me.columnShipPostalCode = Me.Columns("ShipPostalCode")
Me.columnShipCountry = Me.Columns("ShipCountry")
End Sub
Private Sub InitClass()
Me.columnOrderID = New DataColumn("OrderID", GetType(System.Int32), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnOrderID)
Me.columnCustomerID = New DataColumn("CustomerID", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnCustomerID)
Me.columnEmployeeID = New DataColumn("EmployeeID", GetType(System.Int32), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnEmployeeID)
Me.columnOrderDate = New DataColumn("OrderDate", GetType(System.DateTime), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnOrderDate)
Me.columnRequiredDate = New DataColumn("RequiredDate", GetType(System.DateTime), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnRequiredDate)
Me.columnShippedDate = New DataColumn("ShippedDate", GetType(System.DateTime), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnShippedDate)
Me.columnShipVia = New DataColumn("ShipVia", GetType(System.Int32), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnShipVia)
Me.columnFreight = New DataColumn("Freight", GetType(System.Decimal), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnFreight)
Me.columnShipName = New DataColumn("ShipName", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnShipName)
Me.columnShipAddress = New DataColumn("ShipAddress", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnShipAddress)
Me.columnShipCity = New DataColumn("ShipCity", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnShipCity)
Me.columnShipRegion = New DataColumn("ShipRegion", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnShipRegion)
Me.columnShipPostalCode = New DataColumn("ShipPostalCode", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnShipPostalCode)
Me.columnShipCountry = New DataColumn("ShipCountry", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnShipCountry)
Me.Constraints.Add(New UniqueConstraint("NorthwindKey2", New DataColumn() {Me.columnOrderID}, true))
Me.columnOrderID.AutoIncrement = true
Me.columnOrderID.AllowDBNull = false
Me.columnOrderID.ReadOnly = true
Me.columnOrderID.Unique = true
End Sub
Public Function NewOrdersRow() As OrdersRow
Return CType(Me.NewRow,OrdersRow)
End Function
Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
Return New OrdersRow(builder)
End Function
Protected Overrides Function GetRowType() As System.Type
Return GetType(OrdersRow)
End Function
Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.OrdersRowChangedEvent) Is Nothing) Then
RaiseEvent OrdersRowChanged(Me, New OrdersRowChangeEvent(CType(e.Row,OrdersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.OrdersRowChangingEvent) Is Nothing) Then
RaiseEvent OrdersRowChanging(Me, New OrdersRowChangeEvent(CType(e.Row,OrdersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.OrdersRowDeletedEvent) Is Nothing) Then
RaiseEvent OrdersRowDeleted(Me, New OrdersRowChangeEvent(CType(e.Row,OrdersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.OrdersRowDeletingEvent) Is Nothing) Then
RaiseEvent OrdersRowDeleting(Me, New OrdersRowChangeEvent(CType(e.Row,OrdersRow), e.Action))
End If
End Sub
Public Sub RemoveOrdersRow(ByVal row As OrdersRow)
Me.Rows.Remove(row)
End Sub
End Class
_
Public Class OrdersRow
Inherits DataRow
Private tableOrders As OrdersDataTable
Friend Sub New(ByVal rb As DataRowBuilder)
MyBase.New(rb)
Me.tableOrders = CType(Me.Table,OrdersDataTable)
End Sub
Public Property OrderID As Integer
Get
Return CType(Me(Me.tableOrders.OrderIDColumn),Integer)
End Get
Set
Me(Me.tableOrders.OrderIDColumn) = value
End Set
End Property
Public Property CustomerID As String
Get
Try
Return CType(Me(Me.tableOrders.CustomerIDColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.CustomerIDColumn) = value
End Set
End Property
Public Property EmployeeID As Integer
Get
Try
Return CType(Me(Me.tableOrders.EmployeeIDColumn),Integer)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.EmployeeIDColumn) = value
End Set
End Property
Public Property OrderDate As Date
Get
Try
Return CType(Me(Me.tableOrders.OrderDateColumn),Date)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.OrderDateColumn) = value
End Set
End Property
Public Property RequiredDate As Date
Get
Try
Return CType(Me(Me.tableOrders.RequiredDateColumn),Date)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.RequiredDateColumn) = value
End Set
End Property
Public Property ShippedDate As Date
Get
Try
Return CType(Me(Me.tableOrders.ShippedDateColumn),Date)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.ShippedDateColumn) = value
End Set
End Property
Public Property ShipVia As Integer
Get
Try
Return CType(Me(Me.tableOrders.ShipViaColumn),Integer)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.ShipViaColumn) = value
End Set
End Property
Public Property Freight As Decimal
Get
Try
Return CType(Me(Me.tableOrders.FreightColumn),Decimal)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.FreightColumn) = value
End Set
End Property
Public Property ShipName As String
Get
Try
Return CType(Me(Me.tableOrders.ShipNameColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.ShipNameColumn) = value
End Set
End Property
Public Property ShipAddress As String
Get
Try
Return CType(Me(Me.tableOrders.ShipAddressColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.ShipAddressColumn) = value
End Set
End Property
Public Property ShipCity As String
Get
Try
Return CType(Me(Me.tableOrders.ShipCityColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.ShipCityColumn) = value
End Set
End Property
Public Property ShipRegion As String
Get
Try
Return CType(Me(Me.tableOrders.ShipRegionColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.ShipRegionColumn) = value
End Set
End Property
Public Property ShipPostalCode As String
Get
Try
Return CType(Me(Me.tableOrders.ShipPostalCodeColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.ShipPostalCodeColumn) = value
End Set
End Property
Public Property ShipCountry As String
Get
Try
Return CType(Me(Me.tableOrders.ShipCountryColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tableOrders.ShipCountryColumn) = value
End Set
End Property
Public Property CustomersRow As CustomersRow
Get
Return CType(Me.GetParentRow(Me.Table.ParentRelations("CustomersOrders")),CustomersRow)
End Get
Set
Me.SetParentRow(value, Me.Table.ParentRelations("CustomersOrders"))
End Set
End Property
Public Function IsCustomerIDNull() As Boolean
Return Me.IsNull(Me.tableOrders.CustomerIDColumn)
End Function
Public Sub SetCustomerIDNull()
Me(Me.tableOrders.CustomerIDColumn) = System.Convert.DBNull
End Sub
Public Function IsEmployeeIDNull() As Boolean
Return Me.IsNull(Me.tableOrders.EmployeeIDColumn)
End Function
Public Sub SetEmployeeIDNull()
Me(Me.tableOrders.EmployeeIDColumn) = System.Convert.DBNull
End Sub
Public Function IsOrderDateNull() As Boolean
Return Me.IsNull(Me.tableOrders.OrderDateColumn)
End Function
Public Sub SetOrderDateNull()
Me(Me.tableOrders.OrderDateColumn) = System.Convert.DBNull
End Sub
Public Function IsRequiredDateNull() As Boolean
Return Me.IsNull(Me.tableOrders.RequiredDateColumn)
End Function
Public Sub SetRequiredDateNull()
Me(Me.tableOrders.RequiredDateColumn) = System.Convert.DBNull
End Sub
Public Function IsShippedDateNull() As Boolean
Return Me.IsNull(Me.tableOrders.ShippedDateColumn)
End Function
Public Sub SetShippedDateNull()
Me(Me.tableOrders.ShippedDateColumn) = System.Convert.DBNull
End Sub
Public Function IsShipViaNull() As Boolean
Return Me.IsNull(Me.tableOrders.ShipViaColumn)
End Function
Public Sub SetShipViaNull()
Me(Me.tableOrders.ShipViaColumn) = System.Convert.DBNull
End Sub
Public Function IsFreightNull() As Boolean
Return Me.IsNull(Me.tableOrders.FreightColumn)
End Function
Public Sub SetFreightNull()
Me(Me.tableOrders.FreightColumn) = System.Convert.DBNull
End Sub
Public Function IsShipNameNull() As Boolean
Return Me.IsNull(Me.tableOrders.ShipNameColumn)
End Function
Public Sub SetShipNameNull()
Me(Me.tableOrders.ShipNameColumn) = System.Convert.DBNull
End Sub
Public Function IsShipAddressNull() As Boolean
Return Me.IsNull(Me.tableOrders.ShipAddressColumn)
End Function
Public Sub SetShipAddressNull()
Me(Me.tableOrders.ShipAddressColumn) = System.Convert.DBNull
End Sub
Public Function IsShipCityNull() As Boolean
Return Me.IsNull(Me.tableOrders.ShipCityColumn)
End Function
Public Sub SetShipCityNull()
Me(Me.tableOrders.ShipCityColumn) = System.Convert.DBNull
End Sub
Public Function IsShipRegionNull() As Boolean
Return Me.IsNull(Me.tableOrders.ShipRegionColumn)
End Function
Public Sub SetShipRegionNull()
Me(Me.tableOrders.ShipRegionColumn) = System.Convert.DBNull
End Sub
Public Function IsShipPostalCodeNull() As Boolean
Return Me.IsNull(Me.tableOrders.ShipPostalCodeColumn)
End Function
Public Sub SetShipPostalCodeNull()
Me(Me.tableOrders.ShipPostalCodeColumn) = System.Convert.DBNull
End Sub
Public Function IsShipCountryNull() As Boolean
Return Me.IsNull(Me.tableOrders.ShipCountryColumn)
End Function
Public Sub SetShipCountryNull()
Me(Me.tableOrders.ShipCountryColumn) = System.Convert.DBNull
End Sub
Public Function GetOrder_DetailsRows() As Order_DetailsRow()
Return CType(Me.GetChildRows(Me.Table.ChildRelations("OrdersOrder_Details")),Order_DetailsRow())
End Function
End Class
_
Public Class OrdersRowChangeEvent
Inherits EventArgs
Private eventRow As OrdersRow
Private eventAction As DataRowAction
Public Sub New(ByVal row As OrdersRow, ByVal action As DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row As OrdersRow
Get
Return Me.eventRow
End Get
End Property
Public ReadOnly Property Action As DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
_
Public Class Order_DetailsDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columnOrderID As DataColumn
Private columnProductID As DataColumn
Private columnUnitPrice As DataColumn
Private columnQuantity As DataColumn
Private columnDiscount As DataColumn
Friend Sub New()
MyBase.New("Order_Details")
Me.InitClass
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
End Sub
_
Public ReadOnly Property Count As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property OrderIDColumn As DataColumn
Get
Return Me.columnOrderID
End Get
End Property
Friend ReadOnly Property ProductIDColumn As DataColumn
Get
Return Me.columnProductID
End Get
End Property
Friend ReadOnly Property UnitPriceColumn As DataColumn
Get
Return Me.columnUnitPrice
End Get
End Property
Friend ReadOnly Property QuantityColumn As DataColumn
Get
Return Me.columnQuantity
End Get
End Property
Friend ReadOnly Property DiscountColumn As DataColumn
Get
Return Me.columnDiscount
End Get
End Property
Public Default ReadOnly Property Item(ByVal index As Integer) As Order_DetailsRow
Get
Return CType(Me.Rows(index),Order_DetailsRow)
End Get
End Property
Public Event Order_DetailsRowChanged As Order_DetailsRowChangeEventHandler
Public Event Order_DetailsRowChanging As Order_DetailsRowChangeEventHandler
Public Event Order_DetailsRowDeleted As Order_DetailsRowChangeEventHandler
Public Event Order_DetailsRowDeleting As Order_DetailsRowChangeEventHandler
Public Overloads Sub AddOrder_DetailsRow(ByVal row As Order_DetailsRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddOrder_DetailsRow(ByVal parentOrdersRowByOrdersOrder_Details As OrdersRow, ByVal ProductID As Integer, ByVal UnitPrice As Decimal, ByVal Quantity As Short, ByVal Discount As Single) As Order_DetailsRow
Dim rowOrder_DetailsRow As Order_DetailsRow = CType(Me.NewRow,Order_DetailsRow)
rowOrder_DetailsRow.ItemArray = New Object() {parentOrdersRowByOrdersOrder_Details(0), ProductID, UnitPrice, Quantity, Discount}
Me.Rows.Add(rowOrder_DetailsRow)
Return rowOrder_DetailsRow
End Function
Public Function FindByOrderIDProductID(ByVal OrderID As Integer, ByVal ProductID As Integer) As Order_DetailsRow
Return CType(Me.Rows.Find(New Object() {OrderID,ProductID}),Order_DetailsRow)
End Function
Public Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
Return Me.Rows.GetEnumerator
End Function
Public Overrides Function Clone() As DataTable
Dim cln As Order_DetailsDataTable = CType(MyBase.Clone,Order_DetailsDataTable)
cln.InitVars
Return cln
End Function
Protected Overrides Function CreateInstance() As DataTable
Return New Order_DetailsDataTable
End Function
Friend Sub InitVars()
Me.columnOrderID = Me.Columns("OrderID")
Me.columnProductID = Me.Columns("ProductID")
Me.columnUnitPrice = Me.Columns("UnitPrice")
Me.columnQuantity = Me.Columns("Quantity")
Me.columnDiscount = Me.Columns("Discount")
End Sub
Private Sub InitClass()
Me.columnOrderID = New DataColumn("OrderID", GetType(System.Int32), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnOrderID)
Me.columnProductID = New DataColumn("ProductID", GetType(System.Int32), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnProductID)
Me.columnUnitPrice = New DataColumn("UnitPrice", GetType(System.Decimal), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnUnitPrice)
Me.columnQuantity = New DataColumn("Quantity", GetType(System.Int16), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnQuantity)
Me.columnDiscount = New DataColumn("Discount", GetType(System.Single), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnDiscount)
Me.Constraints.Add(New UniqueConstraint("NorthwindKey3", New DataColumn() {Me.columnOrderID,Me.columnProductID}, true))
Me.columnOrderID.AllowDBNull = false
Me.columnProductID.AllowDBNull = false
Me.columnUnitPrice.AllowDBNull = false
Me.columnQuantity.AllowDBNull = false
Me.columnDiscount.AllowDBNull = false
End Sub
Public Function NewOrder_DetailsRow() As Order_DetailsRow
Return CType(Me.NewRow,Order_DetailsRow)
End Function
Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
Return New Order_DetailsRow(builder)
End Function
Protected Overrides Function GetRowType() As System.Type
Return GetType(Order_DetailsRow)
End Function
Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.Order_DetailsRowChangedEvent) Is Nothing) Then
RaiseEvent Order_DetailsRowChanged(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.Order_DetailsRowChangingEvent) Is Nothing) Then
RaiseEvent Order_DetailsRowChanging(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.Order_DetailsRowDeletedEvent) Is Nothing) Then
RaiseEvent Order_DetailsRowDeleted(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.Order_DetailsRowDeletingEvent) Is Nothing) Then
RaiseEvent Order_DetailsRowDeleting(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
End If
End Sub
Public Sub RemoveOrder_DetailsRow(ByVal row As Order_DetailsRow)
Me.Rows.Remove(row)
End Sub
End Class
_
Public Class Order_DetailsRow
Inherits DataRow
Private tableOrder_Details As Order_DetailsDataTable
Friend Sub New(ByVal rb As DataRowBuilder)
MyBase.New(rb)
Me.tableOrder_Details = CType(Me.Table,Order_DetailsDataTable)
End Sub
Public Property OrderID As Integer
Get
Return CType(Me(Me.tableOrder_Details.OrderIDColumn),Integer)
End Get
Set
Me(Me.tableOrder_Details.OrderIDColumn) = value
End Set
End Property
Public Property ProductID As Integer
Get
Return CType(Me(Me.tableOrder_Details.ProductIDColumn),Integer)
End Get
Set
Me(Me.tableOrder_Details.ProductIDColumn) = value
End Set
End Property
Public Property UnitPrice As Decimal
Get
Return CType(Me(Me.tableOrder_Details.UnitPriceColumn),Decimal)
End Get
Set
Me(Me.tableOrder_Details.UnitPriceColumn) = value
End Set
End Property
Public Property Quantity As Short
Get
Return CType(Me(Me.tableOrder_Details.QuantityColumn),Short)
End Get
Set
Me(Me.tableOrder_Details.QuantityColumn) = value
End Set
End Property
Public Property Discount As Single
Get
Return CType(Me(Me.tableOrder_Details.DiscountColumn),Single)
End Get
Set
Me(Me.tableOrder_Details.DiscountColumn) = value
End Set
End Property
Public Property OrdersRow As OrdersRow
Get
Return CType(Me.GetParentRow(Me.Table.ParentRelations("OrdersOrder_Details")),OrdersRow)
End Get
Set
Me.SetParentRow(value, Me.Table.ParentRelations("OrdersOrder_Details"))
End Set
End Property
End Class
_
Public Class Order_DetailsRowChangeEvent
Inherits EventArgs
Private eventRow As Order_DetailsRow
Private eventAction As DataRowAction
Public Sub New(ByVal row As Order_DetailsRow, ByVal action As DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row As Order_DetailsRow
Get
Return Me.eventRow
End Get
End Property
Public ReadOnly Property Action As DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
End Class