201 lines
7.7 KiB
VB.net
201 lines
7.7 KiB
VB.net
Imports System.Windows.Forms
|
|
|
|
Public Class frmEditPublisher
|
|
|
|
Private mobjDetailPublisher As New clsPublisher
|
|
|
|
Protected Overrides Sub LoadExistingItemsList()
|
|
Dim lobjPublisher As clsPublisher
|
|
Dim lobjPublishers As System.Collections.Generic.List(Of clsPublisher)
|
|
|
|
SetUpExistingItemsHeaders()
|
|
|
|
lobjPublishers = clsPublisher.GetAllPublishers
|
|
|
|
Me.ExistingItemsListSuspendLayout()
|
|
|
|
For Each lobjPublisher In lobjPublishers
|
|
Me.ExistingObjectsListItems.Add(ConvertPublisherToListViewItem(lobjPublisher))
|
|
Next
|
|
|
|
Me.ExistingItemsListResumeLayout()
|
|
|
|
End Sub
|
|
|
|
Private Sub SetUpExistingItemsHeaders()
|
|
Me.ExistingObjectsListColumns.Add("Publisher 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
|
|
txtPublisherName.MaxLength = MyGlobals.PUBLISHER_NAME_SIZE
|
|
|
|
cboStreamingAllowed.Items.Clear()
|
|
cboStreamingAllowed.Items.Add(MyGlobals.PUBLISHER_STREAMING_ALLOWED_UNKNOWN)
|
|
cboStreamingAllowed.Items.Add("No")
|
|
cboStreamingAllowed.Items.Add("Yes")
|
|
cboStreamingAllowed.SelectedIndex = 0
|
|
|
|
End Sub
|
|
|
|
Protected Overrides Sub SetFocusToFirstDetailControlForEdit()
|
|
txtPublisherName.Focus()
|
|
End Sub
|
|
|
|
Protected Overrides Function DetailControlsHaveDifferentDataThanExistingData(ByVal lstvwExistingItem As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjSavedPublisher As clsPublisher
|
|
Dim lblnReturnValue As Boolean = False
|
|
|
|
lobjSavedPublisher = CType(lstvwExistingItem.Tag, clsPublisher)
|
|
|
|
mobjDetailPublisher.PublisherName = txtPublisherName.Text
|
|
mobjDetailPublisher.PublisherStreamingAllowed = cboStreamingAllowed.SelectedItem.ToString()
|
|
|
|
If lobjSavedPublisher.StateIsIdentical(mobjDetailPublisher) Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Protected Overrides Function DetailControlsHaveSignificantData() As Boolean
|
|
If txtPublisherName.Text.Trim.Length > 0 Then
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Protected Overrides Sub EmptyOutDetailControls()
|
|
txtPublisherName.Text = String.Empty
|
|
cboStreamingAllowed.SelectedIndex = 0
|
|
mobjDetailPublisher = New clsPublisher
|
|
End Sub
|
|
|
|
Protected Overrides Function LoadExistingDataToDetailControls(ByVal lstvwExistingItem As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjPublisher As clsPublisher
|
|
Dim lblnReturnValue As Boolean = False
|
|
lobjPublisher = CType(lstvwExistingItem.Tag, clsPublisher)
|
|
txtPublisherName.Text = lobjPublisher.PublisherName
|
|
|
|
Dim intSelectedIndex As Int32 = 0
|
|
Dim intIndex As Int32
|
|
For intIndex = 0 To cboStreamingAllowed.Items.Count
|
|
If String.Compare(cboStreamingAllowed.Items(intIndex).ToString, lobjPublisher.PublisherStreamingAllowed, True) = 0 Then
|
|
intSelectedIndex = intIndex
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
cboStreamingAllowed.SelectedIndex = intSelectedIndex
|
|
|
|
mobjDetailPublisher = CType(lobjPublisher.Clone(), clsPublisher)
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Function ConfirmOKToDeleteExistingItem(ByVal lstvwItemToDelete As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjPublisher As clsPublisher
|
|
Dim lstrReferencedBy As String = ""
|
|
|
|
lobjPublisher = CType(lstvwItemToDelete.Tag, clsPublisher)
|
|
|
|
If Not lobjPublisher.OKToDelete(lstrReferencedBy) Then
|
|
MessageBox.Show("Can't delete publisher: " + lobjPublisher.PublisherName + ". 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 publisher: " + lobjPublisher.PublisherName + "?", "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 lobjPublisher As clsPublisher
|
|
lobjPublisher = CType(lstvwItemToDelete.Tag, clsPublisher)
|
|
|
|
Return lobjPublisher.Delete()
|
|
End Function
|
|
|
|
Protected Overrides Function SaveNewItem() As Boolean
|
|
Dim lstrErrorString As String = ""
|
|
|
|
mobjDetailPublisher.PublisherName = txtPublisherName.Text
|
|
mobjDetailPublisher.PublisherStreamingAllowed = cboStreamingAllowed.SelectedItem.ToString
|
|
|
|
If Not mobjDetailPublisher.Validate(lstrErrorString) Then
|
|
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
|
Return False
|
|
End If
|
|
|
|
If Not mobjDetailPublisher.Save() Then
|
|
Return False
|
|
End If
|
|
|
|
Me.ExistingObjectsListItems.Add(ConvertPublisherToListViewItem(mobjDetailPublisher))
|
|
|
|
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 ConvertPublisherToListViewItem(ByVal lobjPublisher As clsPublisher) As ListViewItem
|
|
Dim lobjItem As ListViewItem
|
|
lobjItem = New ListViewItem(lobjPublisher.PublisherName)
|
|
'lobjItem.SubItems.Add("Item1Col2")
|
|
'lobjItem.SubItems.Add("Item1Col3")
|
|
lobjItem.Tag = lobjPublisher
|
|
|
|
Return lobjItem
|
|
|
|
End Function
|
|
|
|
Protected Overrides Function SaveNewDataForExistingItem(ByVal lstvwExistingItem As System.Windows.Forms.ListViewItem) As Boolean
|
|
Dim lstrErrorString As String = ""
|
|
|
|
mobjDetailPublisher.PublisherName = txtPublisherName.Text
|
|
mobjDetailPublisher.PublisherStreamingAllowed = cboStreamingAllowed.SelectedItem.ToString
|
|
|
|
If Not mobjDetailPublisher.Validate(lstrErrorString) Then
|
|
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
|
Return False
|
|
End If
|
|
|
|
If Not mobjDetailPublisher.Save() Then
|
|
Return False
|
|
End If
|
|
|
|
Me.ExistingObjectsListItems.Remove(lstvwExistingItem)
|
|
Me.ExistingObjectsListItems.Add(ConvertPublisherToListViewItem(mobjDetailPublisher))
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub txtPublisherName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPublisherName.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub cboStreamingAllowed_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboStreamingAllowed.SelectedIndexChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
End Class |