' This class is "generated" and will be overwritten.
' Your customizations should be made in ReportPropertiesRecord.vb

Imports System.Data.SqlTypes
Imports BaseClasses
Imports BaseClasses.Data
Imports BaseClasses.Data.SqlProvider

Namespace Persons.Business

''' <summary>
''' The generated superclass for the <see cref="ReportPropertiesRecord"></see> class.
''' </summary>
''' <remarks>
''' This class is not intended to be instantiated directly.  To obtain an instance of this class, 
''' use the methods of the <see cref="ReportPropertiesTable"></see> class.
''' </remarks>
''' <seealso cref="ReportPropertiesTable"></seealso>
''' <seealso cref="ReportPropertiesRecord"></seealso>

<Serializable()> Public Class BaseReportPropertiesRecord
	Inherits PrimaryKeyRecord
	

	Public Shared Shadows ReadOnly TableUtils As ReportPropertiesTable = ReportPropertiesTable.Instance

	' Constructors
 
	Protected Sub New()
		MyBase.New(TableUtils)
	End Sub

	Protected Sub New(ByVal record As PrimaryKeyRecord)
		MyBase.New(record, TableUtils)
	End Sub
	
	'Evaluates Initialize when->Inserting record formulas specified at the data access layer
    Public Overridable Sub ReportPropertiesRecord_InsertingRecord(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.InsertingRecord
        'Apply Initialize->Inserting record formula only if validation is successful.
        	        Dim ReportPropertiesRec As ReportPropertiesRecord = CType(sender,ReportPropertiesRecord)
        Validate_Inserting()
        If Not ReportPropertiesRec Is Nothing AndAlso Not ReportPropertiesRec.IsReadOnly Then
                End If
    End Sub

	'Evaluates Initialize when->Updating record formulas specified at the data access layer
    Public Overridable Sub ReportPropertiesRecord_UpdatingRecord(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.UpdatingRecord
        'Apply Initialize->Updating record formula only if validation is successful.
        	        Dim ReportPropertiesRec As ReportPropertiesRecord = CType(sender,ReportPropertiesRecord)
        Validate_Updating()
        If Not ReportPropertiesRec Is Nothing AndAlso Not ReportPropertiesRec.IsReadOnly Then
                End If
    End Sub
    
    'Evaluates Initialize when->Reading record formulas specified at the data access layer
    Public Overridable Sub ReportPropertiesRecord_ReadRecord(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ReadRecord
        'Apply Initialize->Reading record formula only if validation is successful.
        	        Dim ReportPropertiesRec As ReportPropertiesRecord = CType(sender,ReportPropertiesRecord)
        If Not ReportPropertiesRec Is Nothing AndAlso Not ReportPropertiesRec.IsReadOnly Then
                End If
    End Sub
    
   'Evaluates Validate when->Inserting formulas specified at the data access layer
   Public Overridable Sub Validate_Inserting ()
		Dim fullValidationMessage As String = ""
		Dim validationMessage As String = ""

		dim formula as String = ""


		If validationMessage <> "" AndAlso validationMessage.ToLower() <> "true" Then
			fullValidationMessage &= validationMessage & vbCrLf
		End If

		If fullValidationMessage <> "" Then
			Throw New Exception(fullValidationMessage)
		End If 
	End Sub
	
	'Evaluates Validate when->Updating formulas specified at the data access layer
   Public Overridable Sub Validate_Updating ()
		Dim fullValidationMessage As String = ""
		Dim validationMessage As String = ""

		dim formula as String = ""


		If validationMessage <> "" AndAlso validationMessage.ToLower() <> "true" Then
			fullValidationMessage &= validationMessage & vbCrLf
		End If

		If fullValidationMessage <> "" Then
			Throw New Exception(fullValidationMessage)
		End If 
	End Sub
 
	Public Overridable Function EvaluateFormula(ByVal formula As String, Optional ByVal dataSourceForEvaluate As BaseClasses.Data.BaseRecord = Nothing, Optional ByVal format As String = Nothing) As String

		Dim e As Data.BaseFormulaEvaluator = New Data.BaseFormulaEvaluator()

            ' All variables referred to in the formula are expected to be
            ' properties of the DataSource.  For example, referring to
            ' UnitPrice as a variable will refer to DataSource.UnitPrice
            e.DataSource = dataSourceForEvaluate

            Dim resultObj As Object = e.Evaluate(formula)
            If resultObj Is Nothing Then
                Return ""
            End If
        	Return resultObj.ToString()
	End Function







#Region "Convenience methods to get/set values of fields"

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.ReportName field.
	''' </summary>
	Public Function GetReportNameValue() As ColumnValue
		Return Me.GetValue(TableUtils.ReportNameColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.ReportName field.
	''' </summary>
	Public Function GetReportNameFieldValue() As String
		Return CType(Me.GetValue(TableUtils.ReportNameColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.ReportName field.
	''' </summary>
	Public Sub SetReportNameFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.ReportNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.ReportName field.
	''' </summary>
	Public Sub SetReportNameFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.ReportNameColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.ReportDesc field.
	''' </summary>
	Public Function GetReportDescValue() As ColumnValue
		Return Me.GetValue(TableUtils.ReportDescColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.ReportDesc field.
	''' </summary>
	Public Function GetReportDescFieldValue() As String
		Return CType(Me.GetValue(TableUtils.ReportDescColumn).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.ReportDesc field.
	''' </summary>
	Public Sub SetReportDescFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.ReportDescColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.ReportDesc field.
	''' </summary>
	Public Sub SetReportDescFieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.ReportDescColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Logo1 field.
	''' </summary>
	Public Function GetLogo1Value() As ColumnValue
		Return Me.GetValue(TableUtils.Logo1Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Logo1 field.
	''' </summary>
	Public Function GetLogo1FieldValue() As Byte()
		Return CType(Me.GetValue(TableUtils.Logo1Column).ToBinary(), Byte())
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Logo1 field.
	''' </summary>
	Public Sub SetLogo1FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Logo1Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Logo1 field.
	''' </summary>
	Public Sub SetLogo1FieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.Logo1Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Logo1 field.
	''' </summary>
	Public Sub SetLogo1FieldValue(ByVal val As Byte ())
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Logo1Column)
	End Sub
	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Logo2 field.
	''' </summary>
	Public Function GetLogo2Value() As ColumnValue
		Return Me.GetValue(TableUtils.Logo2Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Logo2 field.
	''' </summary>
	Public Function GetLogo2FieldValue() As Byte()
		Return CType(Me.GetValue(TableUtils.Logo2Column).ToBinary(), Byte())
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Logo2 field.
	''' </summary>
	Public Sub SetLogo2FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Logo2Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Logo2 field.
	''' </summary>
	Public Sub SetLogo2FieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.Logo2Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Logo2 field.
	''' </summary>
	Public Sub SetLogo2FieldValue(ByVal val As Byte ())
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Logo2Column)
	End Sub
	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Heading1 field.
	''' </summary>
	Public Function GetHeading1Value() As ColumnValue
		Return Me.GetValue(TableUtils.Heading1Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Heading1 field.
	''' </summary>
	Public Function GetHeading1FieldValue() As String
		Return CType(Me.GetValue(TableUtils.Heading1Column).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Heading1 field.
	''' </summary>
	Public Sub SetHeading1FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Heading1Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Heading1 field.
	''' </summary>
	Public Sub SetHeading1FieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Heading1Column)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Heading2 field.
	''' </summary>
	Public Function GetHeading2Value() As ColumnValue
		Return Me.GetValue(TableUtils.Heading2Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Heading2 field.
	''' </summary>
	Public Function GetHeading2FieldValue() As String
		Return CType(Me.GetValue(TableUtils.Heading2Column).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Heading2 field.
	''' </summary>
	Public Sub SetHeading2FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Heading2Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Heading2 field.
	''' </summary>
	Public Sub SetHeading2FieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Heading2Column)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Heading3 field.
	''' </summary>
	Public Function GetHeading3Value() As ColumnValue
		Return Me.GetValue(TableUtils.Heading3Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Heading3 field.
	''' </summary>
	Public Function GetHeading3FieldValue() As String
		Return CType(Me.GetValue(TableUtils.Heading3Column).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Heading3 field.
	''' </summary>
	Public Sub SetHeading3FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Heading3Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Heading3 field.
	''' </summary>
	Public Sub SetHeading3FieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Heading3Column)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.MarginLeft field.
	''' </summary>
	Public Function GetMarginLeftValue() As ColumnValue
		Return Me.GetValue(TableUtils.MarginLeftColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.MarginLeft field.
	''' </summary>
	Public Function GetMarginLeftFieldValue() As Decimal
		Return CType(Me.GetValue(TableUtils.MarginLeftColumn).ToDecimal(), Decimal)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginLeft field.
	''' </summary>
	Public Sub SetMarginLeftFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.MarginLeftColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginLeft field.
	''' </summary>
	Public Sub SetMarginLeftFieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.MarginLeftColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginLeft field.
	''' </summary>
	Public Sub SetMarginLeftFieldValue(ByVal val As Double)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MarginLeftColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginLeft field.
	''' </summary>
	Public Sub SetMarginLeftFieldValue(ByVal val As Decimal)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MarginLeftColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginLeft field.
	''' </summary>
	Public Sub SetMarginLeftFieldValue(ByVal val As Int64)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MarginLeftColumn)
	End Sub
	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.MarginTop field.
	''' </summary>
	Public Function GetMarginTopValue() As ColumnValue
		Return Me.GetValue(TableUtils.MarginTopColumn)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.MarginTop field.
	''' </summary>
	Public Function GetMarginTopFieldValue() As Decimal
		Return CType(Me.GetValue(TableUtils.MarginTopColumn).ToDecimal(), Decimal)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginTop field.
	''' </summary>
	Public Sub SetMarginTopFieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.MarginTopColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginTop field.
	''' </summary>
	Public Sub SetMarginTopFieldValue(ByVal val As String)
		Me.SetString(val, TableUtils.MarginTopColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginTop field.
	''' </summary>
	Public Sub SetMarginTopFieldValue(ByVal val As Double)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MarginTopColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginTop field.
	''' </summary>
	Public Sub SetMarginTopFieldValue(ByVal val As Decimal)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MarginTopColumn)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.MarginTop field.
	''' </summary>
	Public Sub SetMarginTopFieldValue(ByVal val As Int64)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.MarginTopColumn)
	End Sub
	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Footer1 field.
	''' </summary>
	Public Function GetFooter1Value() As ColumnValue
		Return Me.GetValue(TableUtils.Footer1Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Footer1 field.
	''' </summary>
	Public Function GetFooter1FieldValue() As String
		Return CType(Me.GetValue(TableUtils.Footer1Column).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Footer1 field.
	''' </summary>
	Public Sub SetFooter1FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Footer1Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Footer1 field.
	''' </summary>
	Public Sub SetFooter1FieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Footer1Column)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Footer2 field.
	''' </summary>
	Public Function GetFooter2Value() As ColumnValue
		Return Me.GetValue(TableUtils.Footer2Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Footer2 field.
	''' </summary>
	Public Function GetFooter2FieldValue() As String
		Return CType(Me.GetValue(TableUtils.Footer2Column).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Footer2 field.
	''' </summary>
	Public Sub SetFooter2FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Footer2Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Footer2 field.
	''' </summary>
	Public Sub SetFooter2FieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Footer2Column)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Footer3 field.
	''' </summary>
	Public Function GetFooter3Value() As ColumnValue
		Return Me.GetValue(TableUtils.Footer3Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Footer3 field.
	''' </summary>
	Public Function GetFooter3FieldValue() As String
		Return CType(Me.GetValue(TableUtils.Footer3Column).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Footer3 field.
	''' </summary>
	Public Sub SetFooter3FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Footer3Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Footer3 field.
	''' </summary>
	Public Sub SetFooter3FieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Footer3Column)
	End Sub

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Footer4 field.
	''' </summary>
	Public Function GetFooter4Value() As ColumnValue
		Return Me.GetValue(TableUtils.Footer4Column)
	End Function

	''' <summary>
	''' This is a convenience method that provides direct access to the value of the record's ReportProperties_.Footer4 field.
	''' </summary>
	Public Function GetFooter4FieldValue() As String
		Return CType(Me.GetValue(TableUtils.Footer4Column).ToString(), String)
	End Function

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Footer4 field.
	''' </summary>
	Public Sub SetFooter4FieldValue(ByVal val As ColumnValue)
		Me.SetValue(val, TableUtils.Footer4Column)
	End Sub

	''' <summary>
	''' This is a convenience method that allows direct modification of the value of the record's ReportProperties_.Footer4 field.
	''' </summary>
	Public Sub SetFooter4FieldValue(ByVal val As String)
		Dim colValue As ColumnValue = New ColumnValue(val)
		Me.SetValue(colValue, TableUtils.Footer4Column)
	End Sub



#End Region

#Region "Convenience methods to get field names"

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.ReportName field.
	''' </summary>
	Public Property ReportName() As String
		Get 
			Return CType(Me.GetValue(TableUtils.ReportNameColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.ReportNameColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property ReportNameSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.ReportNameColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property ReportNameDefault() As String
        Get
            Return TableUtils.ReportNameColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.ReportDesc field.
	''' </summary>
	Public Property ReportDesc() As String
		Get 
			Return CType(Me.GetValue(TableUtils.ReportDescColumn).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.ReportDescColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property ReportDescSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.ReportDescColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property ReportDescDefault() As String
        Get
            Return TableUtils.ReportDescColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Logo1 field.
	''' </summary>
	Public Property Logo1() As Byte()
		Get 
			Return CType(Me.GetValue(TableUtils.Logo1Column).ToBinary(), Byte())
		End Get
		Set (ByVal val As Byte ()) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.Logo1Column)
		End Set
	End Property



	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Logo1Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Logo1Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Logo1Default() As String
        Get
            Return TableUtils.Logo1Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Logo2 field.
	''' </summary>
	Public Property Logo2() As Byte()
		Get 
			Return CType(Me.GetValue(TableUtils.Logo2Column).ToBinary(), Byte())
		End Get
		Set (ByVal val As Byte ()) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.Logo2Column)
		End Set
	End Property



	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Logo2Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Logo2Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Logo2Default() As String
        Get
            Return TableUtils.Logo2Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Heading1 field.
	''' </summary>
	Public Property Heading1() As String
		Get 
			Return CType(Me.GetValue(TableUtils.Heading1Column).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.Heading1Column)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Heading1Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Heading1Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Heading1Default() As String
        Get
            Return TableUtils.Heading1Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Heading2 field.
	''' </summary>
	Public Property Heading2() As String
		Get 
			Return CType(Me.GetValue(TableUtils.Heading2Column).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.Heading2Column)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Heading2Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Heading2Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Heading2Default() As String
        Get
            Return TableUtils.Heading2Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Heading3 field.
	''' </summary>
	Public Property Heading3() As String
		Get 
			Return CType(Me.GetValue(TableUtils.Heading3Column).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.Heading3Column)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Heading3Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Heading3Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Heading3Default() As String
        Get
            Return TableUtils.Heading3Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.MarginLeft field.
	''' </summary>
	Public Property MarginLeft() As Decimal
		Get 
			Return CType(Me.GetValue(TableUtils.MarginLeftColumn).ToDecimal(), Decimal)
		End Get
		Set (ByVal val As Decimal) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.MarginLeftColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property MarginLeftSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.MarginLeftColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property MarginLeftDefault() As String
        Get
            Return TableUtils.MarginLeftColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.MarginTop field.
	''' </summary>
	Public Property MarginTop() As Decimal
		Get 
			Return CType(Me.GetValue(TableUtils.MarginTopColumn).ToDecimal(), Decimal)
		End Get
		Set (ByVal val As Decimal) 
			Dim colValue As ColumnValue = New ColumnValue(val)
			Me.SetValue(colValue, TableUtils.MarginTopColumn)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property MarginTopSpecified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.MarginTopColumn)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property MarginTopDefault() As String
        Get
            Return TableUtils.MarginTopColumn.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Footer1 field.
	''' </summary>
	Public Property Footer1() As String
		Get 
			Return CType(Me.GetValue(TableUtils.Footer1Column).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.Footer1Column)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Footer1Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Footer1Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Footer1Default() As String
        Get
            Return TableUtils.Footer1Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Footer2 field.
	''' </summary>
	Public Property Footer2() As String
		Get 
			Return CType(Me.GetValue(TableUtils.Footer2Column).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.Footer2Column)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Footer2Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Footer2Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Footer2Default() As String
        Get
            Return TableUtils.Footer2Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Footer3 field.
	''' </summary>
	Public Property Footer3() As String
		Get 
			Return CType(Me.GetValue(TableUtils.Footer3Column).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.Footer3Column)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Footer3Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Footer3Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Footer3Default() As String
        Get
            Return TableUtils.Footer3Column.DefaultValue
        End Get
    End Property

	''' <summary>
	''' This is a convenience property that provides direct access to the value of the record's ReportProperties_.Footer4 field.
	''' </summary>
	Public Property Footer4() As String
		Get 
			Return CType(Me.GetValue(TableUtils.Footer4Column).ToString(), String)
		End Get
		Set (ByVal Value As String) 
			Me.SetString(value, TableUtils.Footer4Column)
		End Set
	End Property


	''' <summary>
	''' This is a convenience method that can be used to determine that the column is set.
	''' </summary>
	Public ReadOnly Property Footer4Specified() As Boolean
        Get
            Dim val As ColumnValue = Me.GetValue(TableUtils.Footer4Column)
            If val Is Nothing OrElse val.IsNull Then
                Return False
            End If
            Return True
        End Get
    End Property

	''' <summary>
	''' This is a convenience method that can be used to get the default value of a column.
	''' </summary>
    Public ReadOnly Property Footer4Default() As String
        Get
            Return TableUtils.Footer4Column.DefaultValue
        End Get
    End Property



#End Region

End Class
End Namespace
