'------------------------------------------------------------------------------
'
' Este código fue generado por una herramienta.
' Versión de runtime:4.0.30319.42000
'
' Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
' se vuelve a generar el código.
'
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
'''
'''Represents a strongly typed in-memory cache of data.
'''
_
Partial Public Class InversionesDEVDataSet3
Inherits Global.System.Data.DataSet
Private tableBAN1 As BAN1DataTable
Private _schemaSerializationMode As Global.System.Data.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema
_
Public Sub New()
MyBase.New
Me.BeginInit
Me.InitClass
Dim schemaChangedHandler As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
AddHandler MyBase.Relations.CollectionChanged, schemaChangedHandler
Me.EndInit
End Sub
_
Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext)
MyBase.New(info, context, false)
If (Me.IsBinarySerialized(info, context) = true) Then
Me.InitVars(false)
Dim schemaChangedHandler1 As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
AddHandler Me.Tables.CollectionChanged, schemaChangedHandler1
AddHandler Me.Relations.CollectionChanged, schemaChangedHandler1
Return
End If
Dim strSchema As String = CType(info.GetValue("XmlSchema", GetType(String)),String)
If (Me.DetermineSchemaSerializationMode(info, context) = Global.System.Data.SchemaSerializationMode.IncludeSchema) Then
Dim ds As Global.System.Data.DataSet = New Global.System.Data.DataSet()
ds.ReadXmlSchema(New Global.System.Xml.XmlTextReader(New Global.System.IO.StringReader(strSchema)))
If (Not (ds.Tables("BAN1")) Is Nothing) Then
MyBase.Tables.Add(New BAN1DataTable(ds.Tables("BAN1")))
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, Global.System.Data.MissingSchemaAction.Add)
Me.InitVars
Else
Me.ReadXmlSchema(New Global.System.Xml.XmlTextReader(New Global.System.IO.StringReader(strSchema)))
End If
Me.GetSerializationData(info, context)
Dim schemaChangedHandler As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
End Sub
_
Public ReadOnly Property BAN1() As BAN1DataTable
Get
Return Me.tableBAN1
End Get
End Property
_
Public Overrides Property SchemaSerializationMode() As Global.System.Data.SchemaSerializationMode
Get
Return Me._schemaSerializationMode
End Get
Set
Me._schemaSerializationMode = value
End Set
End Property
_
Public Shadows ReadOnly Property Tables() As Global.System.Data.DataTableCollection
Get
Return MyBase.Tables
End Get
End Property
_
Public Shadows ReadOnly Property Relations() As Global.System.Data.DataRelationCollection
Get
Return MyBase.Relations
End Get
End Property
_
Protected Overrides Sub InitializeDerivedDataSet()
Me.BeginInit
Me.InitClass
Me.EndInit
End Sub
_
Public Overrides Function Clone() As Global.System.Data.DataSet
Dim cln As InversionesDEVDataSet3 = CType(MyBase.Clone,InversionesDEVDataSet3)
cln.InitVars
cln.SchemaSerializationMode = Me.SchemaSerializationMode
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 Global.System.Xml.XmlReader)
If (Me.DetermineSchemaSerializationMode(reader) = Global.System.Data.SchemaSerializationMode.IncludeSchema) Then
Me.Reset
Dim ds As Global.System.Data.DataSet = New Global.System.Data.DataSet()
ds.ReadXml(reader)
If (Not (ds.Tables("BAN1")) Is Nothing) Then
MyBase.Tables.Add(New BAN1DataTable(ds.Tables("BAN1")))
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, Global.System.Data.MissingSchemaAction.Add)
Me.InitVars
Else
Me.ReadXml(reader)
Me.InitVars
End If
End Sub
_
Protected Overrides Function GetSchemaSerializable() As Global.System.Xml.Schema.XmlSchema
Dim stream As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
Me.WriteXmlSchema(New Global.System.Xml.XmlTextWriter(stream, Nothing))
stream.Position = 0
Return Global.System.Xml.Schema.XmlSchema.Read(New Global.System.Xml.XmlTextReader(stream), Nothing)
End Function
_
Friend Overloads Sub InitVars()
Me.InitVars(true)
End Sub
_
Friend Overloads Sub InitVars(ByVal initTable As Boolean)
Me.tableBAN1 = CType(MyBase.Tables("BAN1"),BAN1DataTable)
If (initTable = true) Then
If (Not (Me.tableBAN1) Is Nothing) Then
Me.tableBAN1.InitVars
End If
End If
End Sub
_
Private Sub InitClass()
Me.DataSetName = "InversionesDEVDataSet3"
Me.Prefix = ""
Me.Namespace = "http://tempuri.org/InversionesDEVDataSet3.xsd"
Me.EnforceConstraints = true
Me.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema
Me.tableBAN1 = New BAN1DataTable()
MyBase.Tables.Add(Me.tableBAN1)
End Sub
_
Private Function ShouldSerializeBAN1() As Boolean
Return false
End Function
_
Private Sub SchemaChanged(ByVal sender As Object, ByVal e As Global.System.ComponentModel.CollectionChangeEventArgs)
If (e.Action = Global.System.ComponentModel.CollectionChangeAction.Remove) Then
Me.InitVars
End If
End Sub
_
Public Shared Function GetTypedDataSetSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType
Dim ds As InversionesDEVDataSet3 = New InversionesDEVDataSet3()
Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType()
Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence()
Dim any As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny()
any.Namespace = ds.Namespace
sequence.Items.Add(any)
type.Particle = sequence
Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable
If xs.Contains(dsSchema.TargetNamespace) Then
Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
Try
Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing
dsSchema.Write(s1)
Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator
Do While schemas.MoveNext
schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema)
s2.SetLength(0)
schema.Write(s2)
If (s1.Length = s2.Length) Then
s1.Position = 0
s2.Position = 0
Do While ((s1.Position <> s1.Length) _
AndAlso (s1.ReadByte = s2.ReadByte))
Loop
If (s1.Position = s1.Length) Then
Return type
End If
End If
Loop
Finally
If (Not (s1) Is Nothing) Then
s1.Close
End If
If (Not (s2) Is Nothing) Then
s2.Close
End If
End Try
End If
xs.Add(dsSchema)
Return type
End Function
_
Public Delegate Sub BAN1RowChangeEventHandler(ByVal sender As Object, ByVal e As BAN1RowChangeEvent)
'''
'''Represents the strongly named DataTable class.
'''
_
Partial Public Class BAN1DataTable
Inherits Global.System.Data.TypedTableBase(Of BAN1Row)
Private columnId As Global.System.Data.DataColumn
Private columnCodBanco As Global.System.Data.DataColumn
Private columnCodEmpr As Global.System.Data.DataColumn
Private columnNumCuenta As Global.System.Data.DataColumn
Private columnActivo As Global.System.Data.DataColumn
Private columnNombreCuenta As Global.System.Data.DataColumn
Private columnTipoCuenta As Global.System.Data.DataColumn
_
Public Sub New()
MyBase.New
Me.TableName = "BAN1"
Me.BeginInit
Me.InitClass
Me.EndInit
End Sub
_
Friend Sub New(ByVal table As Global.System.Data.DataTable)
MyBase.New
Me.TableName = 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
_
Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext)
MyBase.New(info, context)
Me.InitVars
End Sub
_
Public ReadOnly Property IdColumn() As Global.System.Data.DataColumn
Get
Return Me.columnId
End Get
End Property
_
Public ReadOnly Property CodBancoColumn() As Global.System.Data.DataColumn
Get
Return Me.columnCodBanco
End Get
End Property
_
Public ReadOnly Property CodEmprColumn() As Global.System.Data.DataColumn
Get
Return Me.columnCodEmpr
End Get
End Property
_
Public ReadOnly Property NumCuentaColumn() As Global.System.Data.DataColumn
Get
Return Me.columnNumCuenta
End Get
End Property
_
Public ReadOnly Property ActivoColumn() As Global.System.Data.DataColumn
Get
Return Me.columnActivo
End Get
End Property
_
Public ReadOnly Property NombreCuentaColumn() As Global.System.Data.DataColumn
Get
Return Me.columnNombreCuenta
End Get
End Property
_
Public ReadOnly Property TipoCuentaColumn() As Global.System.Data.DataColumn
Get
Return Me.columnTipoCuenta
End Get
End Property
_
Public ReadOnly Property Count() As Integer
Get
Return Me.Rows.Count
End Get
End Property
_
Public Default ReadOnly Property Item(ByVal index As Integer) As BAN1Row
Get
Return CType(Me.Rows(index),BAN1Row)
End Get
End Property
_
Public Event BAN1RowChanging As BAN1RowChangeEventHandler
_
Public Event BAN1RowChanged As BAN1RowChangeEventHandler
_
Public Event BAN1RowDeleting As BAN1RowChangeEventHandler
_
Public Event BAN1RowDeleted As BAN1RowChangeEventHandler
_
Public Overloads Sub AddBAN1Row(ByVal row As BAN1Row)
Me.Rows.Add(row)
End Sub
_
Public Overloads Function AddBAN1Row(ByVal CodBanco As String, ByVal CodEmpr As String, ByVal NumCuenta As String, ByVal Activo As Boolean, ByVal NombreCuenta As String, ByVal TipoCuenta As String) As BAN1Row
Dim rowBAN1Row As BAN1Row = CType(Me.NewRow,BAN1Row)
Dim columnValuesArray() As Object = New Object() {Nothing, CodBanco, CodEmpr, NumCuenta, Activo, NombreCuenta, TipoCuenta}
rowBAN1Row.ItemArray = columnValuesArray
Me.Rows.Add(rowBAN1Row)
Return rowBAN1Row
End Function
_
Public Overrides Function Clone() As Global.System.Data.DataTable
Dim cln As BAN1DataTable = CType(MyBase.Clone,BAN1DataTable)
cln.InitVars
Return cln
End Function
_
Protected Overrides Function CreateInstance() As Global.System.Data.DataTable
Return New BAN1DataTable()
End Function
_
Friend Sub InitVars()
Me.columnId = MyBase.Columns("Id")
Me.columnCodBanco = MyBase.Columns("CodBanco")
Me.columnCodEmpr = MyBase.Columns("CodEmpr")
Me.columnNumCuenta = MyBase.Columns("NumCuenta")
Me.columnActivo = MyBase.Columns("Activo")
Me.columnNombreCuenta = MyBase.Columns("NombreCuenta")
Me.columnTipoCuenta = MyBase.Columns("TipoCuenta")
End Sub
_
Private Sub InitClass()
Me.columnId = New Global.System.Data.DataColumn("Id", GetType(Integer), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnId)
Me.columnCodBanco = New Global.System.Data.DataColumn("CodBanco", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnCodBanco)
Me.columnCodEmpr = New Global.System.Data.DataColumn("CodEmpr", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnCodEmpr)
Me.columnNumCuenta = New Global.System.Data.DataColumn("NumCuenta", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnNumCuenta)
Me.columnActivo = New Global.System.Data.DataColumn("Activo", GetType(Boolean), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnActivo)
Me.columnNombreCuenta = New Global.System.Data.DataColumn("NombreCuenta", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnNombreCuenta)
Me.columnTipoCuenta = New Global.System.Data.DataColumn("TipoCuenta", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnTipoCuenta)
Me.columnId.AutoIncrement = true
Me.columnId.AutoIncrementSeed = -1
Me.columnId.AutoIncrementStep = -1
Me.columnId.AllowDBNull = false
Me.columnId.ReadOnly = true
Me.columnCodBanco.MaxLength = 30
Me.columnCodEmpr.MaxLength = 10
Me.columnNumCuenta.MaxLength = 50
Me.columnNombreCuenta.MaxLength = 100
Me.columnTipoCuenta.MaxLength = 10
End Sub
_
Public Function NewBAN1Row() As BAN1Row
Return CType(Me.NewRow,BAN1Row)
End Function
_
Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow
Return New BAN1Row(builder)
End Function
_
Protected Overrides Function GetRowType() As Global.System.Type
Return GetType(BAN1Row)
End Function
_
Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.BAN1RowChangedEvent) Is Nothing) Then
RaiseEvent BAN1RowChanged(Me, New BAN1RowChangeEvent(CType(e.Row,BAN1Row), e.Action))
End If
End Sub
_
Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.BAN1RowChangingEvent) Is Nothing) Then
RaiseEvent BAN1RowChanging(Me, New BAN1RowChangeEvent(CType(e.Row,BAN1Row), e.Action))
End If
End Sub
_
Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.BAN1RowDeletedEvent) Is Nothing) Then
RaiseEvent BAN1RowDeleted(Me, New BAN1RowChangeEvent(CType(e.Row,BAN1Row), e.Action))
End If
End Sub
_
Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.BAN1RowDeletingEvent) Is Nothing) Then
RaiseEvent BAN1RowDeleting(Me, New BAN1RowChangeEvent(CType(e.Row,BAN1Row), e.Action))
End If
End Sub
_
Public Sub RemoveBAN1Row(ByVal row As BAN1Row)
Me.Rows.Remove(row)
End Sub
_
Public Shared Function GetTypedTableSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType
Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType()
Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence()
Dim ds As InversionesDEVDataSet3 = New InversionesDEVDataSet3()
Dim any1 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny()
any1.Namespace = "http://www.w3.org/2001/XMLSchema"
any1.MinOccurs = New Decimal(0)
any1.MaxOccurs = Decimal.MaxValue
any1.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax
sequence.Items.Add(any1)
Dim any2 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny()
any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
any2.MinOccurs = New Decimal(1)
any2.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax
sequence.Items.Add(any2)
Dim attribute1 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute()
attribute1.Name = "namespace"
attribute1.FixedValue = ds.Namespace
type.Attributes.Add(attribute1)
Dim attribute2 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute()
attribute2.Name = "tableTypeName"
attribute2.FixedValue = "BAN1DataTable"
type.Attributes.Add(attribute2)
type.Particle = sequence
Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable
If xs.Contains(dsSchema.TargetNamespace) Then
Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
Try
Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing
dsSchema.Write(s1)
Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator
Do While schemas.MoveNext
schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema)
s2.SetLength(0)
schema.Write(s2)
If (s1.Length = s2.Length) Then
s1.Position = 0
s2.Position = 0
Do While ((s1.Position <> s1.Length) _
AndAlso (s1.ReadByte = s2.ReadByte))
Loop
If (s1.Position = s1.Length) Then
Return type
End If
End If
Loop
Finally
If (Not (s1) Is Nothing) Then
s1.Close
End If
If (Not (s2) Is Nothing) Then
s2.Close
End If
End Try
End If
xs.Add(dsSchema)
Return type
End Function
End Class
'''
'''Represents strongly named DataRow class.
'''
Partial Public Class BAN1Row
Inherits Global.System.Data.DataRow
Private tableBAN1 As BAN1DataTable
_
Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder)
MyBase.New(rb)
Me.tableBAN1 = CType(Me.Table,BAN1DataTable)
End Sub
_
Public Property Id() As Integer
Get
Return CType(Me(Me.tableBAN1.IdColumn),Integer)
End Get
Set
Me(Me.tableBAN1.IdColumn) = value
End Set
End Property
_
Public Property CodBanco() As String
Get
Try
Return CType(Me(Me.tableBAN1.CodBancoColumn),String)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("El valor de la columna 'CodBanco' de la tabla 'BAN1' es DBNull.", e)
End Try
End Get
Set
Me(Me.tableBAN1.CodBancoColumn) = value
End Set
End Property
_
Public Property CodEmpr() As String
Get
Try
Return CType(Me(Me.tableBAN1.CodEmprColumn),String)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("El valor de la columna 'CodEmpr' de la tabla 'BAN1' es DBNull.", e)
End Try
End Get
Set
Me(Me.tableBAN1.CodEmprColumn) = value
End Set
End Property
_
Public Property NumCuenta() As String
Get
Try
Return CType(Me(Me.tableBAN1.NumCuentaColumn),String)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("El valor de la columna 'NumCuenta' de la tabla 'BAN1' es DBNull.", e)
End Try
End Get
Set
Me(Me.tableBAN1.NumCuentaColumn) = value
End Set
End Property
_
Public Property Activo() As Boolean
Get
Try
Return CType(Me(Me.tableBAN1.ActivoColumn),Boolean)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("El valor de la columna 'Activo' de la tabla 'BAN1' es DBNull.", e)
End Try
End Get
Set
Me(Me.tableBAN1.ActivoColumn) = value
End Set
End Property
_
Public Property NombreCuenta() As String
Get
Try
Return CType(Me(Me.tableBAN1.NombreCuentaColumn),String)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("El valor de la columna 'NombreCuenta' de la tabla 'BAN1' es DBNull.", e)
End Try
End Get
Set
Me(Me.tableBAN1.NombreCuentaColumn) = value
End Set
End Property
_
Public Property TipoCuenta() As String
Get
Try
Return CType(Me(Me.tableBAN1.TipoCuentaColumn),String)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("El valor de la columna 'TipoCuenta' de la tabla 'BAN1' es DBNull.", e)
End Try
End Get
Set
Me(Me.tableBAN1.TipoCuentaColumn) = value
End Set
End Property
_
Public Function IsCodBancoNull() As Boolean
Return Me.IsNull(Me.tableBAN1.CodBancoColumn)
End Function
_
Public Sub SetCodBancoNull()
Me(Me.tableBAN1.CodBancoColumn) = Global.System.Convert.DBNull
End Sub
_
Public Function IsCodEmprNull() As Boolean
Return Me.IsNull(Me.tableBAN1.CodEmprColumn)
End Function
_
Public Sub SetCodEmprNull()
Me(Me.tableBAN1.CodEmprColumn) = Global.System.Convert.DBNull
End Sub
_
Public Function IsNumCuentaNull() As Boolean
Return Me.IsNull(Me.tableBAN1.NumCuentaColumn)
End Function
_
Public Sub SetNumCuentaNull()
Me(Me.tableBAN1.NumCuentaColumn) = Global.System.Convert.DBNull
End Sub
_
Public Function IsActivoNull() As Boolean
Return Me.IsNull(Me.tableBAN1.ActivoColumn)
End Function
_
Public Sub SetActivoNull()
Me(Me.tableBAN1.ActivoColumn) = Global.System.Convert.DBNull
End Sub
_
Public Function IsNombreCuentaNull() As Boolean
Return Me.IsNull(Me.tableBAN1.NombreCuentaColumn)
End Function
_
Public Sub SetNombreCuentaNull()
Me(Me.tableBAN1.NombreCuentaColumn) = Global.System.Convert.DBNull
End Sub
_
Public Function IsTipoCuentaNull() As Boolean
Return Me.IsNull(Me.tableBAN1.TipoCuentaColumn)
End Function
_
Public Sub SetTipoCuentaNull()
Me(Me.tableBAN1.TipoCuentaColumn) = Global.System.Convert.DBNull
End Sub
End Class
'''
'''Row event argument class
'''
_
Public Class BAN1RowChangeEvent
Inherits Global.System.EventArgs
Private eventRow As BAN1Row
Private eventAction As Global.System.Data.DataRowAction
_
Public Sub New(ByVal row As BAN1Row, ByVal action As Global.System.Data.DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
_
Public ReadOnly Property Row() As BAN1Row
Get
Return Me.eventRow
End Get
End Property
_
Public ReadOnly Property Action() As Global.System.Data.DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
End Class
Namespace InversionesDEVDataSet3TableAdapters
'''
'''Represents the connection and commands used to retrieve and save data.
'''
_
Partial Public Class BAN1TableAdapter
Inherits Global.System.ComponentModel.Component
Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter
Private _connection As Global.System.Data.SqlClient.SqlConnection
Private _transaction As Global.System.Data.SqlClient.SqlTransaction
Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand
Private _clearBeforeFill As Boolean
_
Public Sub New()
MyBase.New
Me.ClearBeforeFill = true
End Sub
_
Protected Friend ReadOnly Property Adapter() As Global.System.Data.SqlClient.SqlDataAdapter
Get
If (Me._adapter Is Nothing) Then
Me.InitAdapter
End If
Return Me._adapter
End Get
End Property
_
Friend Property Connection() As Global.System.Data.SqlClient.SqlConnection
Get
If (Me._connection Is Nothing) Then
Me.InitConnection
End If
Return Me._connection
End Get
Set
Me._connection = value
If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
Me.Adapter.InsertCommand.Connection = value
End If
If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
Me.Adapter.DeleteCommand.Connection = value
End If
If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
Me.Adapter.UpdateCommand.Connection = value
End If
Dim i As Integer = 0
Do While (i < Me.CommandCollection.Length)
If (Not (Me.CommandCollection(i)) Is Nothing) Then
CType(Me.CommandCollection(i),Global.System.Data.SqlClient.SqlCommand).Connection = value
End If
i = (i + 1)
Loop
End Set
End Property
_
Friend Property Transaction() As Global.System.Data.SqlClient.SqlTransaction
Get
Return Me._transaction
End Get
Set
Me._transaction = value
Dim i As Integer = 0
Do While (i < Me.CommandCollection.Length)
Me.CommandCollection(i).Transaction = Me._transaction
i = (i + 1)
Loop
If ((Not (Me.Adapter) Is Nothing) _
AndAlso (Not (Me.Adapter.DeleteCommand) Is Nothing)) Then
Me.Adapter.DeleteCommand.Transaction = Me._transaction
End If
If ((Not (Me.Adapter) Is Nothing) _
AndAlso (Not (Me.Adapter.InsertCommand) Is Nothing)) Then
Me.Adapter.InsertCommand.Transaction = Me._transaction
End If
If ((Not (Me.Adapter) Is Nothing) _
AndAlso (Not (Me.Adapter.UpdateCommand) Is Nothing)) Then
Me.Adapter.UpdateCommand.Transaction = Me._transaction
End If
End Set
End Property
_
Protected ReadOnly Property CommandCollection() As Global.System.Data.SqlClient.SqlCommand()
Get
If (Me._commandCollection Is Nothing) Then
Me.InitCommandCollection
End If
Return Me._commandCollection
End Get
End Property
_
Public Property ClearBeforeFill() As Boolean
Get
Return Me._clearBeforeFill
End Get
Set
Me._clearBeforeFill = value
End Set
End Property
_
Private Sub InitAdapter()
Me._adapter = New Global.System.Data.SqlClient.SqlDataAdapter()
Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping()
tableMapping.SourceTable = "Table"
tableMapping.DataSetTable = "BAN1"
tableMapping.ColumnMappings.Add("Id", "Id")
tableMapping.ColumnMappings.Add("CodBanco", "CodBanco")
tableMapping.ColumnMappings.Add("CodEmpr", "CodEmpr")
tableMapping.ColumnMappings.Add("NumCuenta", "NumCuenta")
tableMapping.ColumnMappings.Add("Activo", "Activo")
tableMapping.ColumnMappings.Add("NombreCuenta", "NombreCuenta")
tableMapping.ColumnMappings.Add("TipoCuenta", "TipoCuenta")
Me._adapter.TableMappings.Add(tableMapping)
Me._adapter.InsertCommand = New Global.System.Data.SqlClient.SqlCommand()
Me._adapter.InsertCommand.Connection = Me.Connection
Me._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[BAN1] ([CodBanco], [CodEmpr], [NumCuenta], [Activo], [NombreCu"& _
"enta], [TipoCuenta]) VALUES (@CodBanco, @CodEmpr, @NumCuenta, @Activo, @NombreCu"& _
"enta, @TipoCuenta)"
Me._adapter.InsertCommand.CommandType = Global.System.Data.CommandType.Text
Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CodBanco", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CodBanco", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CodEmpr", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "CodEmpr", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NumCuenta", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "NumCuenta", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Activo", Global.System.Data.SqlDbType.Bit, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "Activo", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NombreCuenta", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "NombreCuenta", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@TipoCuenta", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "TipoCuenta", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
End Sub
_
Private Sub InitConnection()
Me._connection = New Global.System.Data.SqlClient.SqlConnection()
Me._connection.ConnectionString = Global.Inversiones.My.MySettings.Default.InversionesConnectionString
End Sub
_
Private Sub InitCommandCollection()
Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(0) {}
Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(0).Connection = Me.Connection
Me._commandCollection(0).CommandText = "SELECT Id, CodBanco, CodEmpr, NumCuenta, Activo, NombreCuenta, TipoCuenta FROM db"& _
"o.BAN1"
Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text
End Sub
_
Public Overloads Overridable Function Fill(ByVal dataTable As InversionesDEVDataSet3.BAN1DataTable) As Integer
Me.Adapter.SelectCommand = Me.CommandCollection(0)
If (Me.ClearBeforeFill = true) Then
dataTable.Clear
End If
Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
Return returnValue
End Function
_
Public Overloads Overridable Function GetData() As InversionesDEVDataSet3.BAN1DataTable
Me.Adapter.SelectCommand = Me.CommandCollection(0)
Dim dataTable As InversionesDEVDataSet3.BAN1DataTable = New InversionesDEVDataSet3.BAN1DataTable()
Me.Adapter.Fill(dataTable)
Return dataTable
End Function
_
Public Overloads Overridable Function Update(ByVal dataTable As InversionesDEVDataSet3.BAN1DataTable) As Integer
Return Me.Adapter.Update(dataTable)
End Function
_
Public Overloads Overridable Function Update(ByVal dataSet As InversionesDEVDataSet3) As Integer
Return Me.Adapter.Update(dataSet, "BAN1")
End Function
_
Public Overloads Overridable Function Update(ByVal dataRow As Global.System.Data.DataRow) As Integer
Return Me.Adapter.Update(New Global.System.Data.DataRow() {dataRow})
End Function
_
Public Overloads Overridable Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer
Return Me.Adapter.Update(dataRows)
End Function
_
Public Overloads Overridable Function Insert(ByVal CodBanco As String, ByVal CodEmpr As String, ByVal NumCuenta As String, ByVal Activo As Global.System.Nullable(Of Boolean), ByVal NombreCuenta As String, ByVal TipoCuenta As String) As Integer
If (CodBanco Is Nothing) Then
Me.Adapter.InsertCommand.Parameters(0).Value = Global.System.DBNull.Value
Else
Me.Adapter.InsertCommand.Parameters(0).Value = CType(CodBanco,String)
End If
If (CodEmpr Is Nothing) Then
Me.Adapter.InsertCommand.Parameters(1).Value = Global.System.DBNull.Value
Else
Me.Adapter.InsertCommand.Parameters(1).Value = CType(CodEmpr,String)
End If
If (NumCuenta Is Nothing) Then
Me.Adapter.InsertCommand.Parameters(2).Value = Global.System.DBNull.Value
Else
Me.Adapter.InsertCommand.Parameters(2).Value = CType(NumCuenta,String)
End If
If (Activo.HasValue = true) Then
Me.Adapter.InsertCommand.Parameters(3).Value = CType(Activo.Value,Boolean)
Else
Me.Adapter.InsertCommand.Parameters(3).Value = Global.System.DBNull.Value
End If
If (NombreCuenta Is Nothing) Then
Me.Adapter.InsertCommand.Parameters(4).Value = Global.System.DBNull.Value
Else
Me.Adapter.InsertCommand.Parameters(4).Value = CType(NombreCuenta,String)
End If
If (TipoCuenta Is Nothing) Then
Me.Adapter.InsertCommand.Parameters(5).Value = Global.System.DBNull.Value
Else
Me.Adapter.InsertCommand.Parameters(5).Value = CType(TipoCuenta,String)
End If
Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
If ((Me.Adapter.InsertCommand.Connection.State And Global.System.Data.ConnectionState.Open) _
<> Global.System.Data.ConnectionState.Open) Then
Me.Adapter.InsertCommand.Connection.Open
End If
Try
Dim returnValue As Integer = Me.Adapter.InsertCommand.ExecuteNonQuery
Return returnValue
Finally
If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then
Me.Adapter.InsertCommand.Connection.Close
End If
End Try
End Function
End Class
'''
'''TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios
'''
_
Partial Public Class TableAdapterManager
Inherits Global.System.ComponentModel.Component
Private _updateOrder As UpdateOrderOption
Private _bAN1TableAdapter As BAN1TableAdapter
Private _backupDataSetBeforeUpdate As Boolean
Private _connection As Global.System.Data.IDbConnection
_
Public Property UpdateOrder() As UpdateOrderOption
Get
Return Me._updateOrder
End Get
Set
Me._updateOrder = value
End Set
End Property
_
Public Property BAN1TableAdapter() As BAN1TableAdapter
Get
Return Me._bAN1TableAdapter
End Get
Set
Me._bAN1TableAdapter = value
End Set
End Property
_
Public Property BackupDataSetBeforeUpdate() As Boolean
Get
Return Me._backupDataSetBeforeUpdate
End Get
Set
Me._backupDataSetBeforeUpdate = value
End Set
End Property
_
Public Property Connection() As Global.System.Data.IDbConnection
Get
If (Not (Me._connection) Is Nothing) Then
Return Me._connection
End If
If ((Not (Me._bAN1TableAdapter) Is Nothing) _
AndAlso (Not (Me._bAN1TableAdapter.Connection) Is Nothing)) Then
Return Me._bAN1TableAdapter.Connection
End If
Return Nothing
End Get
Set
Me._connection = value
End Set
End Property
_
Public ReadOnly Property TableAdapterInstanceCount() As Integer
Get
Dim count As Integer = 0
If (Not (Me._bAN1TableAdapter) Is Nothing) Then
count = (count + 1)
End If
Return count
End Get
End Property
'''
'''Update rows in top-down order.
'''
_
Private Function UpdateUpdatedRows(ByVal dataSet As InversionesDEVDataSet3, ByVal allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow), ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
Dim result As Integer = 0
If (Not (Me._bAN1TableAdapter) Is Nothing) Then
Dim updatedRows() As Global.System.Data.DataRow = dataSet.BAN1.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent)
updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows)
If ((Not (updatedRows) Is Nothing) _
AndAlso (0 < updatedRows.Length)) Then
result = (result + Me._bAN1TableAdapter.Update(updatedRows))
allChangedRows.AddRange(updatedRows)
End If
End If
Return result
End Function
'''
'''Insert rows in top-down order.
'''
_
Private Function UpdateInsertedRows(ByVal dataSet As InversionesDEVDataSet3, ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
Dim result As Integer = 0
If (Not (Me._bAN1TableAdapter) Is Nothing) Then
Dim addedRows() As Global.System.Data.DataRow = dataSet.BAN1.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added)
If ((Not (addedRows) Is Nothing) _
AndAlso (0 < addedRows.Length)) Then
result = (result + Me._bAN1TableAdapter.Update(addedRows))
allAddedRows.AddRange(addedRows)
End If
End If
Return result
End Function
'''
'''Delete rows in bottom-up order.
'''
_
Private Function UpdateDeletedRows(ByVal dataSet As InversionesDEVDataSet3, ByVal allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
Dim result As Integer = 0
If (Not (Me._bAN1TableAdapter) Is Nothing) Then
Dim deletedRows() As Global.System.Data.DataRow = dataSet.BAN1.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted)
If ((Not (deletedRows) Is Nothing) _
AndAlso (0 < deletedRows.Length)) Then
result = (result + Me._bAN1TableAdapter.Update(deletedRows))
allChangedRows.AddRange(deletedRows)
End If
End If
Return result
End Function
'''
'''Remove inserted rows that become updated rows after calling TableAdapter.Update(inserted rows) first
'''
_
Private Function GetRealUpdatedRows(ByVal updatedRows() As Global.System.Data.DataRow, ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Global.System.Data.DataRow()
If ((updatedRows Is Nothing) _
OrElse (updatedRows.Length < 1)) Then
Return updatedRows
End If
If ((allAddedRows Is Nothing) _
OrElse (allAddedRows.Count < 1)) Then
Return updatedRows
End If
Dim realUpdatedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow) = New Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)()
Dim i As Integer = 0
Do While (i < updatedRows.Length)
Dim row As Global.System.Data.DataRow = updatedRows(i)
If (allAddedRows.Contains(row) = false) Then
realUpdatedRows.Add(row)
End If
i = (i + 1)
Loop
Return realUpdatedRows.ToArray
End Function
'''
'''Update all changes to the dataset.
'''
_
Public Overridable Function UpdateAll(ByVal dataSet As InversionesDEVDataSet3) As Integer
If (dataSet Is Nothing) Then
Throw New Global.System.ArgumentNullException("dataSet")
End If
If (dataSet.HasChanges = false) Then
Return 0
End If
If ((Not (Me._bAN1TableAdapter) Is Nothing) _
AndAlso (Me.MatchTableAdapterConnection(Me._bAN1TableAdapter.Connection) = false)) Then
Throw New Global.System.ArgumentException("Todos los TableAdapters administrados por un TableAdapterManager deben usar la mi"& _
"sma cadena de conexión.")
End If
Dim workConnection As Global.System.Data.IDbConnection = Me.Connection
If (workConnection Is Nothing) Then
Throw New Global.System.ApplicationException("TableAdapterManager no contiene información de conexión. Establezca cada propieda"& _
"d TableAdapterManager TableAdapter en una instancia TableAdapter válida.")
End If
Dim workConnOpened As Boolean = false
If ((workConnection.State And Global.System.Data.ConnectionState.Broken) _
= Global.System.Data.ConnectionState.Broken) Then
workConnection.Close
End If
If (workConnection.State = Global.System.Data.ConnectionState.Closed) Then
workConnection.Open
workConnOpened = true
End If
Dim workTransaction As Global.System.Data.IDbTransaction = workConnection.BeginTransaction
If (workTransaction Is Nothing) Then
Throw New Global.System.ApplicationException("La transacción no puede comenzar. La conexión de datos actual no es compatible co"& _
"n las transacciones o el estado actual no permite que comience la transacción.")
End If
Dim allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow) = New Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)()
Dim allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow) = New Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)()
Dim adaptersWithAcceptChangesDuringUpdate As Global.System.Collections.Generic.List(Of Global.System.Data.Common.DataAdapter) = New Global.System.Collections.Generic.List(Of Global.System.Data.Common.DataAdapter)()
Dim revertConnections As Global.System.Collections.Generic.Dictionary(Of Object, Global.System.Data.IDbConnection) = New Global.System.Collections.Generic.Dictionary(Of Object, Global.System.Data.IDbConnection)()
Dim result As Integer = 0
Dim backupDataSet As Global.System.Data.DataSet = Nothing
If Me.BackupDataSetBeforeUpdate Then
backupDataSet = New Global.System.Data.DataSet()
backupDataSet.Merge(dataSet)
End If
Try
'---- Prepare for update -----------
'
If (Not (Me._bAN1TableAdapter) Is Nothing) Then
revertConnections.Add(Me._bAN1TableAdapter, Me._bAN1TableAdapter.Connection)
Me._bAN1TableAdapter.Connection = CType(workConnection,Global.System.Data.SqlClient.SqlConnection)
Me._bAN1TableAdapter.Transaction = CType(workTransaction,Global.System.Data.SqlClient.SqlTransaction)
If Me._bAN1TableAdapter.Adapter.AcceptChangesDuringUpdate Then
Me._bAN1TableAdapter.Adapter.AcceptChangesDuringUpdate = false
adaptersWithAcceptChangesDuringUpdate.Add(Me._bAN1TableAdapter.Adapter)
End If
End If
'
'---- Perform updates -----------
'
If (Me.UpdateOrder = UpdateOrderOption.UpdateInsertDelete) Then
result = (result + Me.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows))
result = (result + Me.UpdateInsertedRows(dataSet, allAddedRows))
Else
result = (result + Me.UpdateInsertedRows(dataSet, allAddedRows))
result = (result + Me.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows))
End If
result = (result + Me.UpdateDeletedRows(dataSet, allChangedRows))
'
'---- Commit updates -----------
'
workTransaction.Commit
If (0 < allAddedRows.Count) Then
Dim rows((allAddedRows.Count) - 1) As Global.System.Data.DataRow
allAddedRows.CopyTo(rows)
Dim i As Integer = 0
Do While (i < rows.Length)
Dim row As Global.System.Data.DataRow = rows(i)
row.AcceptChanges
i = (i + 1)
Loop
End If
If (0 < allChangedRows.Count) Then
Dim rows((allChangedRows.Count) - 1) As Global.System.Data.DataRow
allChangedRows.CopyTo(rows)
Dim i As Integer = 0
Do While (i < rows.Length)
Dim row As Global.System.Data.DataRow = rows(i)
row.AcceptChanges
i = (i + 1)
Loop
End If
Catch ex As Global.System.Exception
workTransaction.Rollback
'---- Restore the dataset -----------
If Me.BackupDataSetBeforeUpdate Then
Global.System.Diagnostics.Debug.Assert((Not (backupDataSet) Is Nothing))
dataSet.Clear
dataSet.Merge(backupDataSet)
Else
If (0 < allAddedRows.Count) Then
Dim rows((allAddedRows.Count) - 1) As Global.System.Data.DataRow
allAddedRows.CopyTo(rows)
Dim i As Integer = 0
Do While (i < rows.Length)
Dim row As Global.System.Data.DataRow = rows(i)
row.AcceptChanges
row.SetAdded
i = (i + 1)
Loop
End If
End If
Throw ex
Finally
If workConnOpened Then
workConnection.Close
End If
If (Not (Me._bAN1TableAdapter) Is Nothing) Then
Me._bAN1TableAdapter.Connection = CType(revertConnections(Me._bAN1TableAdapter),Global.System.Data.SqlClient.SqlConnection)
Me._bAN1TableAdapter.Transaction = Nothing
End If
If (0 < adaptersWithAcceptChangesDuringUpdate.Count) Then
Dim adapters((adaptersWithAcceptChangesDuringUpdate.Count) - 1) As Global.System.Data.Common.DataAdapter
adaptersWithAcceptChangesDuringUpdate.CopyTo(adapters)
Dim i As Integer = 0
Do While (i < adapters.Length)
Dim adapter As Global.System.Data.Common.DataAdapter = adapters(i)
adapter.AcceptChangesDuringUpdate = true
i = (i + 1)
Loop
End If
End Try
Return result
End Function
_
Protected Overridable Sub SortSelfReferenceRows(ByVal rows() As Global.System.Data.DataRow, ByVal relation As Global.System.Data.DataRelation, ByVal childFirst As Boolean)
Global.System.Array.Sort(Of Global.System.Data.DataRow)(rows, New SelfReferenceComparer(relation, childFirst))
End Sub
_
Protected Overridable Function MatchTableAdapterConnection(ByVal inputConnection As Global.System.Data.IDbConnection) As Boolean
If (Not (Me._connection) Is Nothing) Then
Return true
End If
If ((Me.Connection Is Nothing) _
OrElse (inputConnection Is Nothing)) Then
Return true
End If
If String.Equals(Me.Connection.ConnectionString, inputConnection.ConnectionString, Global.System.StringComparison.Ordinal) Then
Return true
End If
Return false
End Function
'''
'''Update Order Option
'''
_
Public Enum UpdateOrderOption
InsertUpdateDelete = 0
UpdateInsertDelete = 1
End Enum
'''
'''Used to sort self-referenced table's rows
'''
_
Private Class SelfReferenceComparer
Inherits Object
Implements Global.System.Collections.Generic.IComparer(Of Global.System.Data.DataRow)
Private _relation As Global.System.Data.DataRelation
Private _childFirst As Integer
_
Friend Sub New(ByVal relation As Global.System.Data.DataRelation, ByVal childFirst As Boolean)
MyBase.New
Me._relation = relation
If childFirst Then
Me._childFirst = -1
Else
Me._childFirst = 1
End If
End Sub
_
Private Function GetRoot(ByVal row As Global.System.Data.DataRow, ByRef distance As Integer) As Global.System.Data.DataRow
Global.System.Diagnostics.Debug.Assert((Not (row) Is Nothing))
Dim root As Global.System.Data.DataRow = row
distance = 0
Dim traversedRows As Global.System.Collections.Generic.IDictionary(Of Global.System.Data.DataRow, Global.System.Data.DataRow) = New Global.System.Collections.Generic.Dictionary(Of Global.System.Data.DataRow, Global.System.Data.DataRow)()
traversedRows(row) = row
Dim parent As Global.System.Data.DataRow = row.GetParentRow(Me._relation, Global.System.Data.DataRowVersion.[Default])
Do While ((Not (parent) Is Nothing) _
AndAlso (traversedRows.ContainsKey(parent) = false))
distance = (distance + 1)
root = parent
traversedRows(parent) = parent
parent = parent.GetParentRow(Me._relation, Global.System.Data.DataRowVersion.[Default])
Loop
If (distance = 0) Then
traversedRows.Clear
traversedRows(row) = row
parent = row.GetParentRow(Me._relation, Global.System.Data.DataRowVersion.Original)
Do While ((Not (parent) Is Nothing) _
AndAlso (traversedRows.ContainsKey(parent) = false))
distance = (distance + 1)
root = parent
traversedRows(parent) = parent
parent = parent.GetParentRow(Me._relation, Global.System.Data.DataRowVersion.Original)
Loop
End If
Return root
End Function
_
Public Function Compare(ByVal row1 As Global.System.Data.DataRow, ByVal row2 As Global.System.Data.DataRow) As Integer Implements Global.System.Collections.Generic.IComparer(Of Global.System.Data.DataRow).Compare
If Object.ReferenceEquals(row1, row2) Then
Return 0
End If
If (row1 Is Nothing) Then
Return -1
End If
If (row2 Is Nothing) Then
Return 1
End If
Dim distance1 As Integer = 0
Dim root1 As Global.System.Data.DataRow = Me.GetRoot(row1, distance1)
Dim distance2 As Integer = 0
Dim root2 As Global.System.Data.DataRow = Me.GetRoot(row2, distance2)
If Object.ReferenceEquals(root1, root2) Then
Return (Me._childFirst * distance1.CompareTo(distance2))
Else
Global.System.Diagnostics.Debug.Assert(((Not (root1.Table) Is Nothing) _
AndAlso (Not (root2.Table) Is Nothing)))
If (root1.Table.Rows.IndexOf(root1) < root2.Table.Rows.IndexOf(root2)) Then
Return -1
Else
Return 1
End If
End If
End Function
End Class
End Class
End Namespace