559 lines
24 KiB
VB.net
559 lines
24 KiB
VB.net
Imports System.Windows.Forms
|
|
|
|
Public Class frmEditWork
|
|
Private mobjDetailWork As New clsWork
|
|
Private m_objHymnTuneNamesHash As Hashtable
|
|
Private m_objComposersHash As Hashtable
|
|
Private m_objInstrumentationsHash As Hashtable
|
|
|
|
Protected Overrides Sub LoadExistingItemsList()
|
|
Dim lobjWork As clsWork
|
|
Dim lobjWorks As System.Collections.Generic.List(Of clsWork)
|
|
|
|
SetUpExistingItemsHeaders()
|
|
|
|
lobjWorks = clsWork.GetAllWorks
|
|
|
|
Me.ExistingItemsListSuspendLayout()
|
|
|
|
For Each lobjWork In lobjWorks
|
|
Me.ExistingObjectsListItems.Add(ConvertWorkToListViewItem(lobjWork))
|
|
Next
|
|
|
|
Me.ExistingItemsListResumeLayout()
|
|
|
|
End Sub
|
|
|
|
Private Sub SetUpExistingItemsHeaders()
|
|
Me.ExistingObjectsListColumns.Add("Composer", 200, HorizontalAlignment.Left)
|
|
Me.ExistingObjectsListColumns.Add("Work Name", 300, HorizontalAlignment.Left)
|
|
Me.ExistingObjectsListColumns.Add("Book", 300, HorizontalAlignment.Left)
|
|
Me.ExistingObjectsListColumns.Add("Page", 100, HorizontalAlignment.Right)
|
|
Me.ExistingObjectsListColumns.Add("Hymn Tune Name", 200, HorizontalAlignment.Left)
|
|
Me.ExistingObjectsListColumns.Add("Instrumentation", 200, HorizontalAlignment.Left)
|
|
|
|
'Set up sorting rules
|
|
Dim lobjBaseEditFormColumnSortRules(5) As clsGridColumnSortRule
|
|
|
|
'First column, sort by Composer, then Work Name
|
|
lobjBaseEditFormColumnSortRules(0) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
lobjBaseEditFormColumnSortRules(0).SubColumnSort = New clsGridSubColumnSortRule(1, clsGridSubColumnSortRule.enumSortType.SortAsNumber, Nothing)
|
|
'Second column, sort by Work Name, then Composer
|
|
lobjBaseEditFormColumnSortRules(1) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
lobjBaseEditFormColumnSortRules(1).SubColumnSort = New clsGridSubColumnSortRule(0, clsGridSubColumnSortRule.enumSortType.SortAsString, Nothing)
|
|
'Third column, sort by Book, then Page
|
|
lobjBaseEditFormColumnSortRules(2) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
lobjBaseEditFormColumnSortRules(2).SubColumnSort = New clsGridSubColumnSortRule(3, clsGridSubColumnSortRule.enumSortType.SortAsNumber, Nothing)
|
|
'Fourth column, sort by Book, then Page
|
|
lobjBaseEditFormColumnSortRules(3) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortNone)
|
|
lobjBaseEditFormColumnSortRules(3).SubColumnSort = New clsGridSubColumnSortRule(2, clsGridSubColumnSortRule.enumSortType.SortAsString, New clsGridSubColumnSortRule(3, clsGridSubColumnSortRule.enumSortType.SortAsNumber, Nothing))
|
|
'Fifth column, sort by Hymn Tune Name, then Composer
|
|
lobjBaseEditFormColumnSortRules(4) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
lobjBaseEditFormColumnSortRules(4).SubColumnSort = New clsGridSubColumnSortRule(0, clsGridSubColumnSortRule.enumSortType.SortAsString, Nothing)
|
|
'Sixth column, sort by Instrumentation, then Book, then Page
|
|
lobjBaseEditFormColumnSortRules(5) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
lobjBaseEditFormColumnSortRules(5).SubColumnSort = New clsGridSubColumnSortRule(2, clsGridSubColumnSortRule.enumSortType.SortAsString, New clsGridSubColumnSortRule(3, clsGridSubColumnSortRule.enumSortType.SortAsNumber, Nothing))
|
|
|
|
MyBaseEditFormColumnSortRules = lobjBaseEditFormColumnSortRules
|
|
|
|
End Sub
|
|
|
|
Protected Overrides Sub InitializeDetailControls()
|
|
|
|
'Load data to detail controls here at form load time
|
|
txtWorkName.MaxLength = MyGlobals.WORK_NAME_SIZE
|
|
txtOpusInfo.MaxLength = MyGlobals.OPUS_INFO_SIZE
|
|
cboComposerName.MaxLength = MyGlobals.COMPOSER_NAME_SIZE
|
|
cboInstrumentationName.MaxLength = MyGlobals.INSTRUMENTATION_NAME_SIZE
|
|
cboHymnTuneName.MaxLength = MyGlobals.HYMN_TUNE_NAME_SIZE
|
|
|
|
txtPageNumber.Text = ""
|
|
txtWorkName.Text = ""
|
|
txtOpusInfo.Text = ""
|
|
|
|
'Only set up book if first time in
|
|
If cboBook.Items.Count = 0 Then
|
|
Dim objBook As clsBook
|
|
Dim objBooks As System.Collections.Generic.List(Of clsBook)
|
|
|
|
Me.cboBook.Items.Clear()
|
|
|
|
objBooks = clsBook.GetAllBooks
|
|
For Each objBook In objBooks
|
|
Me.cboBook.Items.Add(objBook)
|
|
Next
|
|
|
|
'Select first book if there is one
|
|
If Me.cboBook.Items.Count > 0 Then
|
|
Me.cboBook.SelectedIndex = 0
|
|
End If
|
|
End If
|
|
|
|
If m_objComposersHash Is Nothing Then
|
|
m_objComposersHash = New Hashtable
|
|
End If
|
|
|
|
If cboComposerName.Items.Count = 0 Then
|
|
Dim objComposer As clsComposer
|
|
Dim objComposers As System.Collections.Generic.List(Of clsComposer)
|
|
|
|
Me.cboComposerName.Items.Clear()
|
|
m_objComposersHash = New Hashtable
|
|
|
|
objComposers = clsComposer.GetAllComposers
|
|
For Each objComposer In objComposers
|
|
AddComposerToForm(objComposer)
|
|
Next
|
|
End If
|
|
|
|
If m_objInstrumentationsHash Is Nothing Then
|
|
m_objInstrumentationsHash = New Hashtable
|
|
End If
|
|
|
|
If cboInstrumentationName.Items.Count = 0 Then
|
|
Dim objInstrumentation As clsInstrumentation
|
|
Dim objInstrumentations As System.Collections.Generic.List(Of clsInstrumentation)
|
|
|
|
Me.cboInstrumentationName.Items.Clear()
|
|
m_objInstrumentationsHash = New Hashtable
|
|
|
|
objInstrumentations = clsInstrumentation.GetAllInstrumentations
|
|
For Each objInstrumentation In objInstrumentations
|
|
AddInstrumentationToForm(objInstrumentation)
|
|
Next
|
|
End If
|
|
|
|
If cboHymnTuneName.Items.Count = 0 Then
|
|
Dim objHymnTuneName As clsHymnTuneName
|
|
Dim objHymnTuneNames As System.Collections.Generic.List(Of clsHymnTuneName)
|
|
|
|
Me.cboHymnTuneName.Items.Clear()
|
|
m_objHymnTuneNamesHash = New Hashtable
|
|
|
|
objHymnTuneNames = clsHymnTuneName.GetAllHymnTuneNames
|
|
For Each objHymnTuneName In objHymnTuneNames
|
|
AddHymnTuneNameToForm(objHymnTuneName)
|
|
Next
|
|
|
|
Me.cboHymnTuneName.Items.Add(MyGlobals.NONE_STRING)
|
|
End If
|
|
End Sub
|
|
|
|
Protected Overrides Sub SetFocusToFirstDetailControlForEdit()
|
|
cboBook.Focus()
|
|
End Sub
|
|
|
|
Protected Overrides Function DetailControlsHaveDifferentDataThanExistingData(ByVal lstvwExistingItem As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjSavedWork As clsWork
|
|
Dim lblnReturnValue As Boolean = False
|
|
|
|
lobjSavedWork = CType(lstvwExistingItem.Tag, clsWork)
|
|
|
|
Dim objComposer As clsComposer
|
|
Select Case cboComposerName.Text.ToUpper.Trim
|
|
Case ""
|
|
objComposer = Nothing
|
|
Case Else
|
|
objComposer = CType(MyGlobals.GetItemFromHashWithStringKey(cboComposerName.Text.ToUpper.Trim, m_objComposersHash), clsComposer)
|
|
If objComposer Is Nothing Then
|
|
objComposer = New clsComposer(cboComposerName.Text.Trim)
|
|
End If
|
|
End Select
|
|
|
|
Dim objInstrumentation As clsInstrumentation
|
|
Select Case cboInstrumentationName.Text.ToUpper.Trim
|
|
Case ""
|
|
objInstrumentation = Nothing
|
|
Case Else
|
|
objInstrumentation = CType(MyGlobals.GetItemFromHashWithStringKey(cboInstrumentationName.Text.ToUpper.Trim, m_objInstrumentationsHash), clsInstrumentation)
|
|
If objInstrumentation Is Nothing Then
|
|
objInstrumentation = New clsInstrumentation(cboInstrumentationName.Text.Trim)
|
|
End If
|
|
End Select
|
|
|
|
Dim objHymnTuneName As clsHymnTuneName
|
|
Select Case cboHymnTuneName.Text.ToUpper.Trim
|
|
Case MyGlobals.NONE_STRING.ToUpper, ""
|
|
objHymnTuneName = Nothing
|
|
Case Else
|
|
objHymnTuneName = CType(MyGlobals.GetItemFromHashWithStringKey(cboHymnTuneName.Text.ToUpper.Trim, m_objHymnTuneNamesHash), clsHymnTuneName)
|
|
If objHymnTuneName Is Nothing Then
|
|
objHymnTuneName = New clsHymnTuneName(cboHymnTuneName.Text.Trim)
|
|
End If
|
|
End Select
|
|
|
|
mobjDetailWork.Book = CType(cboBook.SelectedItem, clsBook)
|
|
mobjDetailWork.PageNumberAsString = txtPageNumber.Text
|
|
mobjDetailWork.WorkName = txtWorkName.Text
|
|
mobjDetailWork.Composer = objComposer
|
|
mobjDetailWork.Instrumentation = objInstrumentation
|
|
mobjDetailWork.OpusInfo = txtOpusInfo.Text
|
|
mobjDetailWork.HymnTuneName = objHymnTuneName
|
|
|
|
If lobjSavedWork.StateIsIdentical(mobjDetailWork) Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Protected Overrides Function DetailControlsHaveSignificantData() As Boolean
|
|
If txtWorkName.Text.Trim.Length > 0 _
|
|
OrElse txtPageNumber.Text.Trim.Length > 0 _
|
|
OrElse txtOpusInfo.Text.Trim.Length > 0 Then
|
|
'Pre-load composer from book, if composer hasn't already been set
|
|
If cboComposerName.Text.Trim.Length = 0 Then
|
|
Dim objBook As clsBook
|
|
objBook = CType(cboBook.SelectedItem, clsBook)
|
|
If objBook.Composer Is Nothing Then
|
|
'Do nothing - this is collection
|
|
Else
|
|
cboComposerName.Text = objBook.Composer.ComposerName
|
|
End If
|
|
End If
|
|
|
|
'Pre-load instrumentation from book, if instrumentation hasn't already been set
|
|
If cboInstrumentationName.Text.Trim.Length = 0 Then
|
|
Dim objBook As clsBook
|
|
objBook = CType(cboBook.SelectedItem, clsBook)
|
|
If objBook.Instrumentation Is Nothing Then
|
|
'Do nothing - this is collection
|
|
Else
|
|
cboInstrumentationName.Text = objBook.Instrumentation.InstrumentationName
|
|
End If
|
|
End If
|
|
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Protected Overrides Sub EmptyOutDetailControls()
|
|
InitializeDetailControls()
|
|
txtWorkName.Text = ""
|
|
txtPageNumber.Text = ""
|
|
cboComposerName.Text = ""
|
|
cboInstrumentationName.Text = ""
|
|
txtOpusInfo.Text = ""
|
|
cboHymnTuneName.Text = ""
|
|
|
|
mobjDetailWork = New clsWork
|
|
End Sub
|
|
|
|
Protected Overrides Function LoadExistingDataToDetailControls(ByVal lstvwExistingItem As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjWork As clsWork
|
|
Dim lblnReturnValue As Boolean = False
|
|
lobjWork = CType(lstvwExistingItem.Tag, clsWork)
|
|
|
|
'MessageBox.Show(lobjWork.Book.ToString)
|
|
'cboBook.SelectedText = lobjWork.Book.ToString
|
|
cboBook.Text = lobjWork.Book.ToString
|
|
txtPageNumber.Text = lobjWork.PageNumberAsString
|
|
txtWorkName.Text = lobjWork.WorkName
|
|
|
|
If lobjWork.Composer Is Nothing Then
|
|
cboComposerName.Text = ""
|
|
Else
|
|
cboComposerName.Text = lobjWork.Composer.ComposerName
|
|
End If
|
|
|
|
If lobjWork.Instrumentation Is Nothing Then
|
|
cboInstrumentationName.Text = ""
|
|
Else
|
|
cboInstrumentationName.Text = lobjWork.Instrumentation.InstrumentationName
|
|
End If
|
|
|
|
txtOpusInfo.Text = lobjWork.OpusInfo
|
|
|
|
If lobjWork.HymnTuneName Is Nothing Then
|
|
cboHymnTuneName.Text = MyGlobals.NONE_STRING
|
|
Else
|
|
cboHymnTuneName.Text = lobjWork.HymnTuneName.HymnTuneName
|
|
End If
|
|
|
|
mobjDetailWork = CType(lobjWork.Clone(), clsWork)
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Function ConfirmOKToDeleteExistingItem(ByVal lstvwItemToDelete As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjWork As clsWork
|
|
Dim lstrReferencedBy As String = ""
|
|
|
|
lobjWork = CType(lstvwItemToDelete.Tag, clsWork)
|
|
|
|
If Not lobjWork.OKToDelete(lstrReferencedBy) Then
|
|
MessageBox.Show("Can't delete work: " + lobjWork.ToString + ". Currently used by " + lstrReferencedBy + ".", "Unable to delete", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
|
Return False
|
|
End If
|
|
|
|
Dim ldrDialogResult As DialogResult = MessageBox.Show("Are you sure you want to delete work: " + lobjWork.ToString + "?", "Delete confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)
|
|
If ldrDialogResult = System.Windows.Forms.DialogResult.No Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Function DeleteExistingItem(ByVal lstvwItemToDelete As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjWork As clsWork
|
|
lobjWork = CType(lstvwItemToDelete.Tag, clsWork)
|
|
|
|
Return lobjWork.Delete()
|
|
End Function
|
|
|
|
Protected Overrides Function SaveNewItem() As Boolean
|
|
Dim lstrErrorString As String = ""
|
|
Dim lblnAddedNewComposer As Boolean
|
|
Dim lblnAddedNewInstrumentation As Boolean
|
|
Dim lblnAddedNewHymnTuneName As Boolean
|
|
|
|
lblnAddedNewComposer = False
|
|
lblnAddedNewInstrumentation = False
|
|
lblnAddedNewHymnTuneName = False
|
|
|
|
Dim objComposer As clsComposer
|
|
Select Case cboComposerName.Text.ToUpper.Trim
|
|
Case ""
|
|
objComposer = Nothing
|
|
Case Else
|
|
objComposer = CType(MyGlobals.GetItemFromHashWithStringKey(cboComposerName.Text.ToUpper.Trim, m_objComposersHash), clsComposer)
|
|
If objComposer Is Nothing Then
|
|
objComposer = New clsComposer(cboComposerName.Text.Trim)
|
|
lblnAddedNewComposer = True
|
|
End If
|
|
End Select
|
|
|
|
Dim objInstrumentation As clsInstrumentation
|
|
Select Case cboInstrumentationName.Text.ToUpper.Trim
|
|
Case ""
|
|
objInstrumentation = Nothing
|
|
Case Else
|
|
objInstrumentation = CType(MyGlobals.GetItemFromHashWithStringKey(cboInstrumentationName.Text.ToUpper.Trim, m_objInstrumentationsHash), clsInstrumentation)
|
|
If objInstrumentation Is Nothing Then
|
|
objInstrumentation = New clsInstrumentation(cboInstrumentationName.Text.Trim)
|
|
lblnAddedNewInstrumentation = True
|
|
End If
|
|
End Select
|
|
|
|
Dim objHymnTuneName As clsHymnTuneName
|
|
Select Case cboHymnTuneName.Text.ToUpper.Trim
|
|
Case MyGlobals.NONE_STRING.ToUpper, ""
|
|
objHymnTuneName = Nothing
|
|
Case Else
|
|
objHymnTuneName = CType(MyGlobals.GetItemFromHashWithStringKey(cboHymnTuneName.Text.ToUpper.Trim, m_objHymnTuneNamesHash), clsHymnTuneName)
|
|
If objHymnTuneName Is Nothing Then
|
|
objHymnTuneName = New clsHymnTuneName(cboHymnTuneName.Text.Trim)
|
|
lblnAddedNewHymnTuneName = True
|
|
End If
|
|
End Select
|
|
|
|
mobjDetailWork.Book = CType(cboBook.SelectedItem, clsBook)
|
|
mobjDetailWork.PageNumberAsString = txtPageNumber.Text
|
|
mobjDetailWork.WorkName = txtWorkName.Text
|
|
mobjDetailWork.Composer = objComposer
|
|
mobjDetailWork.Instrumentation = objInstrumentation
|
|
mobjDetailWork.OpusInfo = txtOpusInfo.Text
|
|
mobjDetailWork.HymnTuneName = objHymnTuneName
|
|
|
|
If Not mobjDetailWork.Validate(lstrErrorString) Then
|
|
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
|
Return False
|
|
End If
|
|
|
|
If Not mobjDetailWork.Save() Then
|
|
Return False
|
|
End If
|
|
|
|
If lblnAddedNewComposer Then
|
|
AddComposerToForm(objComposer)
|
|
End If
|
|
|
|
If lblnAddedNewInstrumentation Then
|
|
AddInstrumentationToForm(objInstrumentation)
|
|
End If
|
|
|
|
If lblnAddedNewHymnTuneName Then
|
|
AddHymnTuneNameToForm(objHymnTuneName)
|
|
End If
|
|
|
|
Me.ExistingObjectsListItems.Add(ConvertWorkToListViewItem(mobjDetailWork))
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Sub UserRequestedToExit()
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Protected Overrides Sub EditOrAddStarting()
|
|
CType(Me.ParentForm, frmMain).DisableMenus()
|
|
End Sub
|
|
Protected Overrides Sub EditOrAddCompleted()
|
|
CType(Me.ParentForm, frmMain).EnableMenus()
|
|
End Sub
|
|
|
|
Private Function ConvertWorkToListViewItem(ByVal lobjWork As clsWork) As ListViewItem
|
|
Dim lobjItem As ListViewItem
|
|
|
|
If lobjWork.Composer Is Nothing Then
|
|
lobjItem = New ListViewItem("")
|
|
Else
|
|
lobjItem = New ListViewItem(lobjWork.Composer.ComposerName)
|
|
End If
|
|
|
|
lobjItem.SubItems.Add(lobjWork.WorkName)
|
|
lobjItem.SubItems.Add(lobjWork.Book.ToString)
|
|
lobjItem.SubItems.Add(lobjWork.PageNumberAsString)
|
|
If lobjWork.HymnTuneName Is Nothing Then
|
|
lobjItem.SubItems.Add(MyGlobals.NONE_STRING)
|
|
Else
|
|
lobjItem.SubItems.Add(lobjWork.HymnTuneName.HymnTuneName)
|
|
End If
|
|
lobjItem.SubItems.Add(lobjWork.Instrumentation.InstrumentationName)
|
|
|
|
'If lobjWork.HymnTuneName Is Nothing Then
|
|
' lobjItem.SubItems.Add(MyGlobals.NONE_STRING)
|
|
'Else
|
|
' lobjItem.SubItems.Add(lobjWork.HymnTuneName.HymnTuneName)
|
|
'End If
|
|
|
|
lobjItem.Tag = lobjWork
|
|
|
|
Return lobjItem
|
|
|
|
End Function
|
|
|
|
Protected Overrides Function SaveNewDataForExistingItem(ByVal lstvwExistingItem As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lstrErrorString As String = ""
|
|
Dim lblnAddedNewComposer As Boolean
|
|
Dim lblnAddedNewInstrumentation As Boolean
|
|
Dim lblnAddedNewHymnTuneName As Boolean
|
|
|
|
lblnAddedNewComposer = False
|
|
lblnAddedNewInstrumentation = False
|
|
lblnAddedNewHymnTuneName = False
|
|
|
|
Dim objComposer As clsComposer
|
|
Select Case cboComposerName.Text.ToUpper.Trim
|
|
Case ""
|
|
objComposer = Nothing
|
|
Case Else
|
|
objComposer = CType(MyGlobals.GetItemFromHashWithStringKey(cboComposerName.Text.ToUpper.Trim, m_objComposersHash), clsComposer)
|
|
If objComposer Is Nothing Then
|
|
objComposer = New clsComposer(cboComposerName.Text.Trim)
|
|
lblnAddedNewComposer = True
|
|
End If
|
|
End Select
|
|
|
|
Dim objInstrumentation As clsInstrumentation
|
|
Select Case cboInstrumentationName.Text.ToUpper.Trim
|
|
Case ""
|
|
objInstrumentation = Nothing
|
|
Case Else
|
|
objInstrumentation = CType(MyGlobals.GetItemFromHashWithStringKey(cboInstrumentationName.Text.ToUpper.Trim, m_objInstrumentationsHash), clsInstrumentation)
|
|
If objInstrumentation Is Nothing Then
|
|
objInstrumentation = New clsInstrumentation(cboInstrumentationName.Text.Trim)
|
|
lblnAddedNewInstrumentation = True
|
|
End If
|
|
End Select
|
|
|
|
Dim objHymnTuneName As clsHymnTuneName
|
|
Select Case cboHymnTuneName.Text.ToUpper.Trim
|
|
Case MyGlobals.NONE_STRING.ToUpper, ""
|
|
objHymnTuneName = Nothing
|
|
Case Else
|
|
objHymnTuneName = CType(MyGlobals.GetItemFromHashWithStringKey(cboHymnTuneName.Text.ToUpper.Trim, m_objHymnTuneNamesHash), clsHymnTuneName)
|
|
If objHymnTuneName Is Nothing Then
|
|
objHymnTuneName = New clsHymnTuneName(cboHymnTuneName.Text.Trim)
|
|
lblnAddedNewHymnTuneName = True
|
|
End If
|
|
End Select
|
|
|
|
|
|
mobjDetailWork.Book = CType(cboBook.SelectedItem, clsBook)
|
|
mobjDetailWork.PageNumberAsString = txtPageNumber.Text
|
|
mobjDetailWork.WorkName = txtWorkName.Text
|
|
mobjDetailWork.Composer = objComposer
|
|
mobjDetailWork.Instrumentation = objInstrumentation
|
|
mobjDetailWork.OpusInfo = txtOpusInfo.Text
|
|
mobjDetailWork.HymnTuneName = objHymnTuneName
|
|
|
|
If Not mobjDetailWork.Validate(lstrErrorString) Then
|
|
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
|
Return False
|
|
End If
|
|
|
|
If Not mobjDetailWork.Save() Then
|
|
Return False
|
|
End If
|
|
|
|
If lblnAddedNewComposer Then
|
|
AddComposerToForm(objComposer)
|
|
End If
|
|
|
|
If lblnAddedNewInstrumentation Then
|
|
AddInstrumentationToForm(objInstrumentation)
|
|
End If
|
|
|
|
If lblnAddedNewHymnTuneName Then
|
|
AddHymnTuneNameToForm(objHymnTuneName)
|
|
End If
|
|
|
|
Me.ExistingObjectsListItems.Remove(lstvwExistingItem)
|
|
Me.ExistingObjectsListItems.Add(ConvertWorkToListViewItem(mobjDetailWork))
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub txtWorkName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtWorkName.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub cboComposerName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboComposerName.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub cboInstrumentationName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboInstrumentationName.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub cboHymnTuneName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboHymnTuneName.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub txtPageNumber_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPageNumber.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub txtOpusInfo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtOpusInfo.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub cboBook_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboBook.SelectedIndexChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub txtPageNumber_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPageNumber.KeyPress
|
|
If Not MyGlobals.AllowKeypressInNumericTextBox(e.KeyChar) Then
|
|
e.Handled = True
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub AddComposerToForm(ByVal objComposer As clsComposer)
|
|
Me.cboComposerName.Items.Add(objComposer.ComposerName)
|
|
m_objComposersHash.Add(objComposer.ComposerName.ToUpper, objComposer)
|
|
End Sub
|
|
|
|
Protected Sub AddInstrumentationToForm(ByVal objInstrumentation As clsInstrumentation)
|
|
Me.cboInstrumentationName.Items.Add(objInstrumentation.InstrumentationName)
|
|
m_objInstrumentationsHash.Add(objInstrumentation.InstrumentationName.ToUpper, objInstrumentation)
|
|
End Sub
|
|
|
|
Protected Sub AddHymnTuneNameToForm(ByVal objHymnTuneName As clsHymnTuneName)
|
|
Me.cboHymnTuneName.Items.Add(objHymnTuneName.HymnTuneName)
|
|
m_objHymnTuneNamesHash.Add(objHymnTuneName.HymnTuneName.ToUpper, objHymnTuneName)
|
|
End Sub
|
|
|
|
|
|
End Class |