' <fileinfo name="EmployeesRow_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

''' <summary>
''' The base class for <see cref="EmployeesRow"/> that 
''' represents a record in the <c>Employees</c> table.
''' </summary>
''' <remarks>
''' Do not change this source code manually. Update the <see cref="EmployeesRow"/>
''' class if you need to add or change some functionality.
''' </remarks>
Public MustInherit Class EmployeesRow_Base
    Private _employeeID As Integer
    Private _lastName As String
    Private _firstName As String
    Private _title As String
    Private _titleOfCourtesy As String
    Private _birthDate As Date
    Private _birthDateNull As Boolean = True
    Private _hireDate As Date
    Private _hireDateNull As Boolean = True
    Private _address As String
    Private _city As String
    Private _region As String
    Private _postalCode As String
    Private _country As String
    Private _homePhone As String
    Private _extension As String
    Private _photo As Byte()
    Private _notes As String
    Private _reportsTo As Integer
    Private _reportsToNull As Boolean = True
    Private _photoPath As String

    ''' <summary>
    ''' Initializes a new instance of the <see cref="EmployeesRow_Base"/> class.
    ''' </summary>
    Public Sub New()
        MyBase.New()
        ' EMPTY
    End Sub

        ''' <summary>
        ''' Gets or sets the <c>EmployeeID</c> column value.
        ''' </summary>
        ''' <value>The <c>EmployeeID</c> column value.</value>
    Public Property EmployeeID As Integer
        Get
            Return _employeeID
        End Get
        Set
            _employeeID = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>LastName</c> column value.
        ''' </summary>
        ''' <value>The <c>LastName</c> column value.</value>
    Public Property LastName As String
        Get
            Return _lastName
        End Get
        Set
            _lastName = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>FirstName</c> column value.
        ''' </summary>
        ''' <value>The <c>FirstName</c> column value.</value>
    Public Property FirstName As String
        Get
            Return _firstName
        End Get
        Set
            _firstName = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>Title</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>Title</c> column value.</value>
    Public Property Title As String
        Get
            Return _title
        End Get
        Set
            _title = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>TitleOfCourtesy</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>TitleOfCourtesy</c> column value.</value>
    Public Property TitleOfCourtesy As String
        Get
            Return _titleOfCourtesy
        End Get
        Set
            _titleOfCourtesy = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>BirthDate</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>BirthDate</c> column value.</value>
    Public Property BirthDate As Date
        Get
            If IsBirthDateNull Then
                Throw New InvalidOperationException("Cannot get value because it is DBNull.")
            End If
            Return _birthDate
        End Get
        Set
            _birthDateNull = false
            _birthDate = value
        End Set
    End Property

    ''' <summary>
    ''' Indicates whether the <see cref="BirthDate"/>
    ''' property value is null.
    ''' </summary>
    ''' <value>true if the property value is null, otherwise false.</value>
    Public Property IsBirthDateNull As Boolean
        Get
            Return _birthDateNull
        End Get
        Set
            _birthDateNull = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>HireDate</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>HireDate</c> column value.</value>
    Public Property HireDate As Date
        Get
            If IsHireDateNull Then
                Throw New InvalidOperationException("Cannot get value because it is DBNull.")
            End If
            Return _hireDate
        End Get
        Set
            _hireDateNull = false
            _hireDate = value
        End Set
    End Property

    ''' <summary>
    ''' Indicates whether the <see cref="HireDate"/>
    ''' property value is null.
    ''' </summary>
    ''' <value>true if the property value is null, otherwise false.</value>
    Public Property IsHireDateNull As Boolean
        Get
            Return _hireDateNull
        End Get
        Set
            _hireDateNull = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>Address</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>Address</c> column value.</value>
    Public Property Address As String
        Get
            Return _address
        End Get
        Set
            _address = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>City</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>City</c> column value.</value>
    Public Property City As String
        Get
            Return _city
        End Get
        Set
            _city = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>Region</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>Region</c> column value.</value>
    Public Property Region As String
        Get
            Return _region
        End Get
        Set
            _region = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>PostalCode</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>PostalCode</c> column value.</value>
    Public Property PostalCode As String
        Get
            Return _postalCode
        End Get
        Set
            _postalCode = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>Country</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>Country</c> column value.</value>
    Public Property Country As String
        Get
            Return _country
        End Get
        Set
            _country = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>HomePhone</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>HomePhone</c> column value.</value>
    Public Property HomePhone As String
        Get
            Return _homePhone
        End Get
        Set
            _homePhone = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>Extension</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>Extension</c> column value.</value>
    Public Property Extension As String
        Get
            Return _extension
        End Get
        Set
            _extension = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>Photo</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>Photo</c> column value.</value>
    Public Property Photo As Byte()
        Get
            Return _photo
        End Get
        Set
            _photo = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>Notes</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>Notes</c> column value.</value>
    Public Property Notes As String
        Get
            Return _notes
        End Get
        Set
            _notes = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>ReportsTo</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>ReportsTo</c> column value.</value>
    Public Property ReportsTo As Integer
        Get
            If IsReportsToNull Then
                Throw New InvalidOperationException("Cannot get value because it is DBNull.")
            End If
            Return _reportsTo
        End Get
        Set
            _reportsToNull = false
            _reportsTo = value
        End Set
    End Property

    ''' <summary>
    ''' Indicates whether the <see cref="ReportsTo"/>
    ''' property value is null.
    ''' </summary>
    ''' <value>true if the property value is null, otherwise false.</value>
    Public Property IsReportsToNull As Boolean
        Get
            Return _reportsToNull
        End Get
        Set
            _reportsToNull = value
        End Set
    End Property

        ''' <summary>
        ''' Gets or sets the <c>PhotoPath</c> column value.
        ''' This column is nullable.
        ''' </summary>
        ''' <value>The <c>PhotoPath</c> column value.</value>
    Public Property PhotoPath As String
        Get
            Return _photoPath
        End Get
        Set
            _photoPath = value
        End Set
    End Property

    ''' <summary>
    ''' Returns the string representation of this instance.
    ''' </summary>
    ''' <returns>The string representation of this instance.</returns>
    Public Overrides Function ToString() As String
        Dim dynStr As System.Text.StringBuilder = New System.Text.StringBuilder(Me.GetType().Name)
        dynStr.Append(":")
        dynStr.Append("  EmployeeID=")
        dynStr.Append(Me.EmployeeID)
        dynStr.Append("  LastName=")
        dynStr.Append(Me.LastName)
        dynStr.Append("  FirstName=")
        dynStr.Append(Me.FirstName)
        dynStr.Append("  Title=")
        dynStr.Append(Me.Title)
        dynStr.Append("  TitleOfCourtesy=")
        dynStr.Append(Me.TitleOfCourtesy)
        dynStr.Append("  BirthDate=")
        If IsBirthDateNull Then
            dynStr.Append("<NULL>")
        Else
            dynStr.Append(Me.BirthDate)
        End If
        dynStr.Append("  HireDate=")
        If IsHireDateNull Then
            dynStr.Append("<NULL>")
        Else
            dynStr.Append(Me.HireDate)
        End If
        dynStr.Append("  Address=")
        dynStr.Append(Me.Address)
        dynStr.Append("  City=")
        dynStr.Append(Me.City)
        dynStr.Append("  Region=")
        dynStr.Append(Me.Region)
        dynStr.Append("  PostalCode=")
        dynStr.Append(Me.PostalCode)
        dynStr.Append("  Country=")
        dynStr.Append(Me.Country)
        dynStr.Append("  HomePhone=")
        dynStr.Append(Me.HomePhone)
        dynStr.Append("  Extension=")
        dynStr.Append(Me.Extension)
        dynStr.Append("  Notes=")
        dynStr.Append(Me.Notes)
        dynStr.Append("  ReportsTo=")
        If IsReportsToNull Then
            dynStr.Append("<NULL>")
        Else
            dynStr.Append(Me.ReportsTo)
        End If
        dynStr.Append("  PhotoPath=")
        dynStr.Append(Me.PhotoPath)
        Return dynStr.ToString()
    End Function
End Class