|
Option Explicit On
Imports DatabaseObjects
Imports System.Collections
Public Class Territories
Inherits DatabaseObjects.DatabaseObjectsEnumerable
Friend Sub New(ByVal objDatabase As Database)
MyBase.New(objDatabase)
End Sub
Public Function Exists(ByVal strDescription As String) As Boolean
Exists = MyBase.ObjectExists(strDescription)
End Function
Public Sub Delete(ByRef objItem As Territory)
MyBase.ObjectDelete(objItem)
End Sub
Protected Overrides Function DistinctFieldAutoIncrements() As Boolean
Return False
End Function
Protected Overrides Function DistinctFieldName() As String
Return "TerritoryID"
End Function
Protected Overrides Function ItemInstance() As IDatabaseObject
Return New Territory
End Function
Protected Overrides Function KeyFieldName() As String
Return "TerritoryDescription"
End Function
Protected Overrides Function OrderBy() As SQL.SQLSelectOrderByFields
OrderBy = New SQL.SQLSelectOrderByFields
OrderBy.Add("TerritoryDescription", SQL.OrderBy.Ascending)
End Function
Protected Overrides Function Subset() As SQL.SQLConditions
End Function
Protected Overrides Function TableJoins(ByVal objPrimaryTable As SQL.SQLSelectTable, ByVal objTables As SQL.SQLSelectTables) As SQL.SQLSelectTableJoins
End Function
Protected Overrides Function TableName() As String
Return "Territories"
End Function
End Class
Public Class Territory
Inherits DatabaseObjectUsingAttributes
Private pintID As Integer
Private pstrDescription As String
Private pobjRegion As New DatabaseObjects.ObjectReference
Public Sub New()
MyBase.New(NorthwindDB.Territories)
End Sub
<DatabaseObjects.FieldMapping("TerritoryID")> _
Public Property ID() As String
Get
Return pintID
End Get
Set(ByVal Value As String)
pintID = Integer.Parse(Value)
End Set
End Property
<DatabaseObjects.FieldMapping("TerritoryDescription")> _
Public Property Description() As String
Get
Return pstrDescription
End Get
Set(ByVal Value As String)
pstrDescription = Value.Trim
End Set
End Property
<DatabaseObjects.FieldMapping("RegionID")> _
Private Property RegionID() As Integer
Get
Return pobjRegion.DistinctValue
End Get
Set(ByVal Value As Integer)
pobjRegion = New DatabaseObjects.ObjectReference(NorthwindDB.Regions, Value)
End Set
End Property
Public Property Region() As Region
Get
Return pobjRegion.Object
End Get
Set(ByVal Value As Region)
If Value Is Nothing Then
Throw New ArgumentNullException
Else
pobjRegion.Object = Value
End If
End Set
End Property
Public Overloads Sub Save()
If pintID = 0 Then
Throw New ArgumentException("Territory ID")
End If
If pobjRegion.ObjectIsNothing Then
Throw New NullReferenceException("Region")
End If
MyBase.Save()
End Sub
'Protected Overrides Sub LoadFields(ByVal objFields As DatabaseObjects.SQL.SQLFieldValues)
' pintID = objFields("TerritoryID").Value
' Description = objFields("TerritoryDescription").Value
' Description = Description.Trim
' pobjRegion = NorthwindDB.Regions.LateboundObject(objFields("RegionID").Value)
'End Sub
'Protected Overrides Function SaveFields() As DatabaseObjects.SQL.SQLFieldValues
' SaveFields = New SQL.SQLFieldValues
' SaveFields.Add("TerritoryID", pintID)
' SaveFields.Add("TerritoryDescription", Description)
' SaveFields.Add("RegionID", pobjRegion.DistinctValue)
'End Function
End Class
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.