250 lines
9.1 KiB
VB.net
250 lines
9.1 KiB
VB.net
Imports System.Windows.Forms
|
|
|
|
Public Class frmEditComposer
|
|
Inherits BaseEditForm
|
|
|
|
Private mobjDetailComposer As New clsComposer
|
|
|
|
#Region " Windows Form Designer generated code "
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
|
|
'This call is required by the Windows Form Designer.
|
|
InitializeComponent()
|
|
|
|
'Add any initialization after the InitializeComponent() call
|
|
End Sub
|
|
|
|
'Form overrides dispose to clean up the component list.
|
|
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
|
|
If disposing Then
|
|
If Not (components Is Nothing) Then
|
|
components.Dispose()
|
|
End If
|
|
End If
|
|
MyBase.Dispose(disposing)
|
|
End Sub
|
|
|
|
'Required by the Windows Form Designer
|
|
Private components As System.ComponentModel.IContainer
|
|
|
|
'NOTE: The following procedure is required by the Windows Form Designer
|
|
'It can be modified using the Windows Form Designer.
|
|
'Do not modify it using the code editor.
|
|
Friend WithEvents lblComposerName As Windows.Forms.Label
|
|
Friend WithEvents txtComposerName As Windows.Forms.TextBox
|
|
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
|
|
Me.lblComposerName = New Windows.Forms.Label
|
|
Me.txtComposerName = New Windows.Forms.TextBox
|
|
Me.fraAddEdit.SuspendLayout()
|
|
Me.SuspendLayout()
|
|
'
|
|
'fraAddEdit
|
|
'
|
|
Me.fraAddEdit.Controls.Add(Me.txtComposerName)
|
|
Me.fraAddEdit.Controls.Add(Me.lblComposerName)
|
|
Me.fraAddEdit.Location = New System.Drawing.Point(8, 412)
|
|
Me.fraAddEdit.Size = New System.Drawing.Size(1072, 116)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.lblComposerName, 0)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.txtComposerName, 0)
|
|
'
|
|
'lblComposerName
|
|
'
|
|
Me.lblComposerName.Location = New System.Drawing.Point(16, 24)
|
|
Me.lblComposerName.Name = "lblComposerName"
|
|
Me.lblComposerName.Size = New System.Drawing.Size(96, 16)
|
|
Me.lblComposerName.TabIndex = 3
|
|
Me.lblComposerName.Text = "Composer Name"
|
|
'
|
|
'txtComposerName
|
|
'
|
|
Me.txtComposerName.Location = New System.Drawing.Point(112, 24)
|
|
Me.txtComposerName.Name = "txtComposerName"
|
|
Me.txtComposerName.Size = New System.Drawing.Size(448, 20)
|
|
Me.txtComposerName.TabIndex = 4
|
|
'
|
|
'frmEditComposer
|
|
'
|
|
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
|
|
Me.ClientSize = New System.Drawing.Size(1088, 534)
|
|
Me.Name = "frmEditComposer"
|
|
Me.StartPosition = Windows.Forms.FormStartPosition.Manual
|
|
Me.Text = "Edit Composer"
|
|
Me.fraAddEdit.ResumeLayout(False)
|
|
Me.fraAddEdit.PerformLayout()
|
|
Me.ResumeLayout(False)
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
Protected Overrides Sub LoadExistingItemsList()
|
|
Dim lobjComposer As clsComposer
|
|
Dim lobjComposers As System.Collections.Generic.List(Of clsComposer)
|
|
|
|
SetUpExistingItemsHeaders()
|
|
|
|
lobjComposers = clsComposer.GetAllComposers
|
|
|
|
Me.ExistingItemsListSuspendLayout()
|
|
|
|
For Each lobjComposer In lobjComposers
|
|
Me.ExistingObjectsListItems.Add(ConvertComposerToListViewItem(lobjComposer))
|
|
Next
|
|
|
|
Me.ExistingItemsListResumeLayout()
|
|
End Sub
|
|
|
|
Private Sub SetUpExistingItemsHeaders()
|
|
Me.ExistingObjectsListColumns.Add("Composer Name", 800, HorizontalAlignment.Left)
|
|
'Me.ExistingObjectsListColumns.Add("Column2", 0, HorizontalAlignment.Left)
|
|
'Me.ExistingObjectsListColumns.Add("Column3", 200, HorizontalAlignment.Left)
|
|
|
|
'Set up sorting rules
|
|
Dim lobjBaseEditFormColumnSortRules(0) As clsGridColumnSortRule
|
|
lobjBaseEditFormColumnSortRules(0) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
MyBaseEditFormColumnSortRules = lobjBaseEditFormColumnSortRules
|
|
|
|
End Sub
|
|
|
|
Protected Overrides Sub InitializeDetailControls()
|
|
'Load data to detail controls here at form load time
|
|
txtComposerName.MaxLength = MyGlobals.COMPOSER_NAME_SIZE
|
|
End Sub
|
|
|
|
Protected Overrides Sub SetFocusToFirstDetailControlForEdit()
|
|
txtComposerName.Focus()
|
|
End Sub
|
|
|
|
Protected Overrides Function DetailControlsHaveDifferentDataThanExistingData(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjSavedComposer As clsComposer
|
|
Dim lblnReturnValue As Boolean = False
|
|
|
|
lobjSavedComposer = CType(lstvwExistingItem.Tag, clsComposer)
|
|
|
|
mobjDetailComposer.ComposerName = txtComposerName.Text
|
|
|
|
If lobjSavedComposer.StateIsIdentical(mobjDetailComposer) Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Protected Overrides Function DetailControlsHaveSignificantData() As Boolean
|
|
If txtComposerName.Text.Trim.Length > 0 Then
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Protected Overrides Sub EmptyOutDetailControls()
|
|
txtComposerName.Text = ""
|
|
mobjDetailComposer = New clsComposer
|
|
End Sub
|
|
|
|
Protected Overrides Function LoadExistingDataToDetailControls(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjComposer As clsComposer
|
|
Dim lblnReturnValue As Boolean = False
|
|
lobjComposer = CType(lstvwExistingItem.Tag, clsComposer)
|
|
txtComposerName.Text = lobjComposer.ComposerName
|
|
|
|
mobjDetailComposer = CType(lobjComposer.Clone(), clsComposer)
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Function ConfirmOKToDeleteExistingItem(ByVal lstvwItemToDelete As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjComposer As clsComposer
|
|
Dim lstrReferencedBy As String = ""
|
|
|
|
lobjComposer = CType(lstvwItemToDelete.Tag, clsComposer)
|
|
|
|
If Not lobjComposer.OKToDelete(lstrReferencedBy) Then
|
|
MessageBox.Show("Can't delete composer: " + lobjComposer.ComposerName + ". 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 composer: " + lobjComposer.ComposerName + "?", "Delete confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)
|
|
If ldrDialogResult = Windows.Forms.DialogResult.No Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Function DeleteExistingItem(ByVal lstvwItemToDelete As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjComposer As clsComposer
|
|
lobjComposer = CType(lstvwItemToDelete.Tag, clsComposer)
|
|
|
|
Return lobjComposer.Delete()
|
|
End Function
|
|
|
|
Protected Overrides Function SaveNewItem() As Boolean
|
|
Dim lstrErrorString As String = ""
|
|
|
|
mobjDetailComposer.ComposerName = txtComposerName.Text
|
|
|
|
If Not mobjDetailComposer.Validate(lstrErrorString) Then
|
|
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
|
Return False
|
|
End If
|
|
|
|
If Not mobjDetailComposer.Save() Then
|
|
Return False
|
|
End If
|
|
|
|
Me.ExistingObjectsListItems.Add(ConvertComposerToListViewItem(mobjDetailComposer))
|
|
|
|
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 ConvertComposerToListViewItem(ByVal lobjComposer As clsComposer) As ListViewItem
|
|
Dim lobjItem As ListViewItem
|
|
lobjItem = New ListViewItem(lobjComposer.ComposerName)
|
|
'lobjItem.SubItems.Add("Item1Col2")
|
|
'lobjItem.SubItems.Add("Item1Col3")
|
|
lobjItem.Tag = lobjComposer
|
|
|
|
Return lobjItem
|
|
|
|
End Function
|
|
|
|
Protected Overrides Function SaveNewDataForExistingItem(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lstrErrorString As String = ""
|
|
|
|
mobjDetailComposer.ComposerName = txtComposerName.Text
|
|
|
|
If Not mobjDetailComposer.Validate(lstrErrorString) Then
|
|
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
|
Return False
|
|
End If
|
|
|
|
If Not mobjDetailComposer.Save() Then
|
|
Return False
|
|
End If
|
|
|
|
Me.ExistingObjectsListItems.Remove(lstvwExistingItem)
|
|
Me.ExistingObjectsListItems.Add(ConvertComposerToListViewItem(mobjDetailComposer))
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub txtComposerName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtComposerName.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
End Class |