Initial population

This commit is contained in:
Jon
2026-03-07 19:38:21 -06:00
commit 46735bddd3
59 changed files with 12911 additions and 0 deletions

371
clsComposer.vb Normal file
View File

@@ -0,0 +1,371 @@
Imports System.Data
Imports System.Xml
Public Class clsComposer
Implements ICloneable
Private mguidComposerID As Guid
Private mstrComposerName As String
Private m_blnObjectAlreadyPersisted As Boolean
Public Sub New()
mguidComposerID = Guid.NewGuid
mstrComposerName = ""
m_blnObjectAlreadyPersisted = False
End Sub
Public Sub New(ByVal lstrComposerName As String)
Dim ldbcmdCommand As New SqlClient.SqlCommand
ldbcmdCommand.CommandText = "sel_composer_by_name"
ldbcmdCommand.CommandType = CommandType.StoredProcedure
' Set up parameter for stored procedure
Dim prmComposerName As New SqlClient.SqlParameter
prmComposerName.ParameterName = "@composer_name"
prmComposerName.SqlDbType = SqlDbType.VarChar
prmComposerName.Size = MyGlobals.COMPOSER_NAME_SIZE
prmComposerName.Value = lstrComposerName
ldbcmdCommand.Parameters.Add(prmComposerName)
Dim ldbdsComposers As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdCommand)
If ldbdsComposers.Tables(0).Rows.Count > 0 Then
Dim ldbrwRow As DataRow
ldbrwRow = ldbdsComposers.Tables(0).Rows(0)
PopulateFromDBRow(ldbrwRow)
ldbdsComposers.Clear()
m_blnObjectAlreadyPersisted = True
Else
ldbdsComposers.Clear()
mguidComposerID = Guid.NewGuid
mstrComposerName = lstrComposerName.Trim
m_blnObjectAlreadyPersisted = False
End If
End Sub
Public Sub New(ByVal lguidComposerID As Guid)
mguidComposerID = lguidComposerID
Dim ldbcmdCommand As New SqlClient.SqlCommand
ldbcmdCommand.CommandText = "sel_composer"
ldbcmdCommand.CommandType = CommandType.StoredProcedure
' Set up parameter for stored procedure
Dim prmComposerID As New SqlClient.SqlParameter
prmComposerID.ParameterName = "@composer_id"
prmComposerID.SqlDbType = SqlDbType.UniqueIdentifier
'prmComposerID.Size = 5
prmComposerID.Value = lguidComposerID
ldbcmdCommand.Parameters.Add(prmComposerID)
Dim ldbdsComposers As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdCommand)
If ldbdsComposers.Tables(0).Rows.Count > 0 Then
Dim ldbrwRow As DataRow
ldbrwRow = ldbdsComposers.Tables(0).Rows(0)
PopulateFromDBRow(ldbrwRow)
m_blnObjectAlreadyPersisted = True
MyGlobals.AddCachedObject(Me, Me.ComposerID.ToString)
End If
ldbdsComposers.Clear()
End Sub
Public Sub New(ByVal ldbrwRow As DataRow)
PopulateFromDBRow(ldbrwRow)
m_blnObjectAlreadyPersisted = True
MyGlobals.AddCachedObject(Me, Me.ComposerID.ToString)
End Sub
Private Sub PopulateFromDBRow(ByVal ldbrwRow As DataRow)
mguidComposerID = CType(ldbrwRow.Item("composer_id"), Guid)
mstrComposerName = CType(ldbrwRow.Item("composer_name"), String)
End Sub
Public Function Delete() As Boolean
Try
MyGlobals.RemoveCachedObject(Me.ComposerID.ToString)
Dim ldbcmdCommand As New SqlClient.SqlCommand
ldbcmdCommand.CommandText = "del_composer"
ldbcmdCommand.CommandType = CommandType.StoredProcedure
' Set up parameter for stored procedure
Dim prmComposerID As New SqlClient.SqlParameter
prmComposerID.ParameterName = "@composer_id"
prmComposerID.SqlDbType = SqlDbType.UniqueIdentifier
'prmComposerID.Size = 5
prmComposerID.Value = mguidComposerID
ldbcmdCommand.Parameters.Add(prmComposerID)
Dim lintRowsAffected As Integer = MyGlobals.g_objDatabaseLayer.ExecuteNonQuery(ldbcmdCommand)
If lintRowsAffected > 0 Then
m_blnObjectAlreadyPersisted = False
Return True
Else
Return False
End If
Catch
Return False
End Try
End Function
Public Function Save() As Boolean
Try
MyGlobals.AddCachedObject(Me, Me.ComposerID.ToString)
If m_blnObjectAlreadyPersisted Then
Dim ldbcmdCommand As New SqlClient.SqlCommand
ldbcmdCommand.CommandText = "upd_composer"
ldbcmdCommand.CommandType = CommandType.StoredProcedure
' Set up parameter for stored procedure
Dim prmComposerID As New SqlClient.SqlParameter
prmComposerID.ParameterName = "@composer_id"
prmComposerID.SqlDbType = SqlDbType.UniqueIdentifier
'prmComposerID.Size = 5
prmComposerID.Value = mguidComposerID
ldbcmdCommand.Parameters.Add(prmComposerID)
' Set up parameter for stored procedure
Dim prmComposerName As New SqlClient.SqlParameter
prmComposerName.ParameterName = "@composer_name"
prmComposerName.SqlDbType = SqlDbType.VarChar
prmComposerName.Size = MyGlobals.COMPOSER_NAME_SIZE
prmComposerName.Value = mstrComposerName
ldbcmdCommand.Parameters.Add(prmComposerName)
Dim lintRowsAffected As Integer = MyGlobals.g_objDatabaseLayer.ExecuteNonQuery(ldbcmdCommand)
If lintRowsAffected > 0 Then
Return True
Else
Return False
End If
Else
Dim ldbcmdCommand As New SqlClient.SqlCommand
ldbcmdCommand.CommandText = "ins_composer"
ldbcmdCommand.CommandType = CommandType.StoredProcedure
' Set up parameter for stored procedure
Dim prmComposerID As New SqlClient.SqlParameter
prmComposerID.ParameterName = "@composer_id"
prmComposerID.SqlDbType = SqlDbType.UniqueIdentifier
'prmComposerID.Size = 5
prmComposerID.Value = mguidComposerID
ldbcmdCommand.Parameters.Add(prmComposerID)
' Set up parameter for stored procedure
Dim prmComposerName As New SqlClient.SqlParameter
prmComposerName.ParameterName = "@composer_name"
prmComposerName.SqlDbType = SqlDbType.VarChar
prmComposerName.Size = MyGlobals.COMPOSER_NAME_SIZE
prmComposerName.Value = mstrComposerName
ldbcmdCommand.Parameters.Add(prmComposerName)
Dim lintRowsAffected As Integer = MyGlobals.g_objDatabaseLayer.ExecuteNonQuery(ldbcmdCommand)
If lintRowsAffected > 0 Then
m_blnObjectAlreadyPersisted = True
Return True
Else
Return False
End If
End If
Catch
Return False
End Try
End Function
Public Function DuplicateExists(ByVal lstrComposerNameToCheck As String) As Boolean
Try
Dim ldbcmdCommand As New SqlClient.SqlCommand
ldbcmdCommand.CommandText = "sel_composer_by_name"
ldbcmdCommand.CommandType = CommandType.StoredProcedure
' Set up parameter for stored procedure
Dim prmComposerName As New SqlClient.SqlParameter
prmComposerName.ParameterName = "@composer_name"
prmComposerName.SqlDbType = SqlDbType.VarChar
prmComposerName.Size = MyGlobals.COMPOSER_NAME_SIZE
prmComposerName.Value = lstrComposerNameToCheck
ldbcmdCommand.Parameters.Add(prmComposerName)
Dim ldbdsComposers As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdCommand)
If ldbdsComposers.Tables(0).Rows.Count > 0 Then
Dim ldbrwRow As DataRow
For Each ldbrwRow In ldbdsComposers.Tables(0).Rows
If mguidComposerID.Equals(CType(ldbrwRow.Item("composer_id"), Guid)) Then
'OK
Else
ldbdsComposers.Clear()
Return True
End If
Next
End If
ldbdsComposers.Clear()
Return False
Catch
Return False
End Try
End Function
Public Property ComposerID() As Guid
Get
Return mguidComposerID
End Get
Set(ByVal lguidValue As Guid)
mguidComposerID = lguidValue
End Set
End Property
Public Property ComposerName() As String
Get
Return mstrComposerName
End Get
Set(ByVal sValue As String)
mstrComposerName = sValue.Trim
End Set
End Property
Public Property ItemAlreadyPersisted() As Boolean
Get
Return m_blnObjectAlreadyPersisted
End Get
Set(ByVal Value As Boolean)
m_blnObjectAlreadyPersisted = Value
End Set
End Property
Public Function Clone() As Object Implements ICloneable.Clone
Dim lobjReturnValue As New clsComposer
lobjReturnValue.ComposerID = Me.ComposerID
lobjReturnValue.ComposerName = Me.ComposerName
lobjReturnValue.ItemAlreadyPersisted = Me.ItemAlreadyPersisted
Return lobjReturnValue
End Function
Public Function StateIsIdentical(ByVal lobjOtherComposer As clsComposer) As Boolean
If Me.ComposerID.Equals(lobjOtherComposer.ComposerID) _
AndAlso Me.ComposerName = lobjOtherComposer.ComposerName Then
Return True
Else
Return False
End If
End Function
Public Function Validate(ByRef lstrErrorString As String) As Boolean
lstrErrorString = ""
If Me.ComposerName.Length = 0 Then
lstrErrorString = "Composer Name is required"
Return False
End If
If Me.DuplicateExists(Me.ComposerName) Then
lstrErrorString = "Given Composer Name already exists"
Return False
End If
Return True
End Function
Public Function OKToDelete(ByRef lstrReferencedByString As String) As Boolean
Dim lblnReturnValue As Boolean
lblnReturnValue = True
lstrReferencedByString = ""
Dim ldbcmdCommand As New SqlClient.SqlCommand
ldbcmdCommand.CommandText = "sel_composer_isreferenced"
ldbcmdCommand.CommandType = CommandType.StoredProcedure
' Set up parameter for stored procedure
Dim prmComposerID As New SqlClient.SqlParameter
prmComposerID.ParameterName = "@composer_id"
prmComposerID.SqlDbType = SqlDbType.UniqueIdentifier
'prmComposerID.Size = 5
prmComposerID.Value = mguidComposerID
ldbcmdCommand.Parameters.Add(prmComposerID)
Dim ldbdsComposers As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdCommand)
If ldbdsComposers.Tables(0).Rows.Count > 0 Then
lblnReturnValue = False
Dim ldbrwRow As DataRow
For Each ldbrwRow In ldbdsComposers.Tables(0).Rows
If Not ldbrwRow.IsNull("table_referencing_instance") Then
If lstrReferencedByString.Length = 0 Then
lstrReferencedByString = CType(ldbrwRow.Item("table_referencing_instance"), String) + "(s)"
Else
lstrReferencedByString = lstrReferencedByString + " and " + CType(ldbrwRow.Item("table_referencing_instance"), String) + "(s)"
End If
End If
Next
End If
ldbdsComposers.Clear()
Return lblnReturnValue
End Function
Public Overrides Function ToString() As String
Return mstrComposerName
End Function
Public Sub WriteXML(ByRef objXMLWriter As XmlTextWriter)
objXMLWriter.WriteStartElement("Composer")
objXMLWriter.WriteElementString("ComposerID", Me.ComposerID.ToString)
objXMLWriter.WriteElementString("ComposerName", Me.ComposerName)
objXMLWriter.WriteEndElement()
End Sub
Public Shared Function GetAllComposers() As System.Collections.Generic.List(Of clsComposer)
Dim lguidComposerID As Guid
Dim ldbcmdCommand As New SqlClient.SqlCommand
Dim lobjComposer As clsComposer
Dim lcolComposers As New System.Collections.Generic.List(Of clsComposer)
ldbcmdCommand.CommandText = "sel_composer_all"
ldbcmdCommand.CommandType = CommandType.StoredProcedure
Dim ldbdsComposers As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdCommand)
If ldbdsComposers.Tables(0).Rows.Count > 0 Then
Dim ldbrwRow As DataRow
For Each ldbrwRow In ldbdsComposers.Tables(0).Rows
lguidComposerID = CType(ldbrwRow.Item("composer_id"), Guid)
If MyGlobals.CachedObjectExists(lguidComposerID.ToString) Then
lobjComposer = CType(MyGlobals.CachedObjectRetrieve(lguidComposerID.ToString), clsComposer)
Else
'lobjComposer = New clsComposer(lguidComposerID)
lobjComposer = New clsComposer(ldbrwRow)
End If
lcolComposers.Add(lobjComposer)
Next
End If
ldbdsComposers.Clear()
Return lcolComposers
End Function
Public Shared Sub AddAllComposersToCache()
If MyGlobals.g_objObjectTypesCached.Contains("Composers") = False Then
GetAllComposers()
MyGlobals.g_objObjectTypesCached.Add("Composers")
End If
End Sub
End Class