You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ITSM/.svn/pristine/af/af4a9c0335750148700ad4f350c...

310 lines
12 KiB

Imports C1.Win.C1TrueDBGrid
Public Class FrmAktivitaetenListe
#Region "Deklarationen"
Dim Aktivitaeten As New TKB.VV.Vertrag.clsAktivitaeten
Dim Aktivitaet As New TKB.VV.Vertrag.clsAktivitaet
Dim sec As New TKB.VV.Utils.MySecurity
Dim msg As New TKB.VV.Utils.MyMessage
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
Dim data As New DataTable
Dim FormReadOnly As Boolean = False
Dim daten As New DataTable
Dim StatusTable As New TKB.VV.DB.clsAktivitaetStatus
Dim Statusdata As New DataTable
#End Region
#Region "Formular"
''' <summary>
''' Load des Formulares
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub FrmAktivitaetenListe_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Get_Load_Status()
Me.StatusToolStripComboBox.SelectedItem = "Pendent"
Refresh_Uebersicht()
If Me.FormReadOnly Then sec.Set_Form_Readonly(Me)
End Sub
Private Sub Get_Load_Status()
' MsgBox(Me.StatusSetzenToolStripMenuItem.DropDownItems.Count)
Me.StatusSetzenToolStripMenuItem.DropDownItems.Clear()
Me.StatusToolStripComboBox.Items.Clear()
Me.StatusToolStripComboBox.Items.Add("Alle")
Me.StatusTable.cpMainConnectionProvider = Globals.conn
Statusdata = Me.StatusTable.SelectAll()
For Each dr As DataRow In Me.Statusdata.Rows
If dr.Item("Aktiv") = True Then
Me.StatusSetzenToolStripMenuItem.DropDownItems.Add(dr.Item("Bezeichnung"))
Me.StatusToolStripComboBox.Items.Add(dr.Item("Bezeichnung"))
End If
Next
End Sub
''' <summary>
''' Rowstyle von inaktiven Pendenzen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Pendenzen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Aktivitaeten.FetchRowStyle
Try
If Me.C1Aktivitaeten.Columns("aktiv").CellValue(e.Row) = False Then
Dim FNT As Font = e.CellStyle.Font
e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout)
e.CellStyle.ForeColor = Color.Gray
End If
If Me.C1Aktivitaeten.Columns("PendenzStatusNr").CellValue(e.Row) < 3 Then
If Me.C1Aktivitaeten.Columns("Termin").CellValue(e.Row) < Now Then
Dim fnt As Font = e.CellStyle.Font
e.CellStyle.ForeColor = Color.Red
End If
End If
Catch
End Try
End Sub
''' <summary>
''' Mousedown-Ereignis auf C1Aktivitaeten, damit die Details aktualisiert werden k<>nnen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub C1Vertragselemente_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Aktivitaeten.MouseDown
Me.C1Aktivitaeten.Bookmark = Me.C1Aktivitaeten.RowContaining(e.Y)
Me.C1Aktivitaeten.Bookmark = Me.C1Aktivitaeten.RowBookmark(Me.C1Aktivitaeten.RowContaining(e.Y))
End Sub
''' <summary>
''' Selektion nach Status <20>ndern
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub StatusToolStripComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusToolStripComboBox.SelectedIndexChanged
Refresh_Uebersicht()
End Sub
''' <summary>
''' Aktualisieren der Aktivit<69>ten-<2D>bersicht
''' </summary>
''' <remarks></remarks>
Private Sub Refresh_Uebersicht()
Me.C1Aktivitaeten.Enabled = False
Try
Dim i As Integer = -1
For Each dr As DataRow In Me.Statusdata.Rows
If dr.Item("Bezeichnung") = Me.StatusToolStripComboBox.SelectedItem Then i = dr.Item("Aktivitaetstatusnr")
Next
' data = Pendenzen.Get_Pendenzuebersicht(0, Me.StatusToolStripComboBox.SelectedItem)
' data = Pendenzen.Get_Pendenzuebersicht(0, i)
daten = Aktivitaeten.Get_Aktivitaetenliste(i)
'daten = Aktivitaeten.Get_Aktivitaetenliste(Me.StatusToolStripComboBox.SelectedItem)
Catch ex As Exception
Dim i As Integer = -1
For Each dr As DataRow In Me.Statusdata.Rows
If dr.Item("Bezeichnung") = Me.StatusToolStripComboBox.SelectedItem Then i = dr.Item("Aktivitaetstatusnr")
Next
daten = Aktivitaeten.Get_Aktivitaetenliste(i)
End Try
Dim filtertext As String = ""
Try
For Each c As C1DataColumn In Me.C1Aktivitaeten.Columns
If c.FilterText <> "" Then filtertext = filtertext + ";" + c.Caption + ":" + c.FilterText
Next
Catch ex As Exception
End Try
Me.C1Aktivitaeten.DataSource = daten
Me.C1Aktivitaeten.DataMember = daten.TableName
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Aktivitaeten, "Aktivitaet", data, False)
Try
Dim splitter()
splitter = filtertext.Split(";")
If splitter.Length > 1 Then
For Each s As String In splitter
Dim splitter1() As String
splitter1 = s.Split(":")
Try
Me.C1Aktivitaeten.Columns(splitter1(0)).FilterText = splitter1(1)
Catch ex As Exception
End Try
Next
End If
Catch
End Try
Me.C1Aktivitaeten.Enabled = True
sec.Set_Form_Security(Me)
End Sub
''' <summary>
''' Formular schliessen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
Me.Close()
End Sub
''' <summary>
''' Pendenz inaktivieren
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click
If msg.Show_MessageYesNo(850) = MsgBoxResult.Yes Then
Me.Aktivitaet.Delete_Aktivitaet(Me.C1Aktivitaeten.Columns("AktivitaetNr").Value)
Me.Refresh_Uebersicht()
End If
End Sub
#End Region
#Region "Context-Menu-Handling"
''' <summary>
''' Enabling bzw. Disabling der Menu-Eintr<74>ge aufgrund der angezeigten Rows im Truedbgrind
''' </summary>
''' <param name="menu">Zu bearbeitendes Menu</param>
''' <param name="c1data">Betroffenes Grid</param>
''' <returns></returns>
''' <remarks>Nach dem Setzen der Submenus wird sec.form_Security durchlaufen, damit allf<6C>llig standardm<64>ssig aktivierte Menueintr<74>ge
''' aufgrund der Security-Einstellung wieder deaktiviert werden</remarks>
Private Function Disable_Enable_Menu(ByRef menu As ContextMenuStrip, ByRef c1data As C1TrueDBGrid)
If c1data.Splits(0).Rows.Count = 0 Then
For Each obj As Object In menu.Items
Dim objtype As System.Type = obj.GetType
If LCase(objtype.Name) = "toolstripmenuitem" Then
Dim mnu As ToolStripMenuItem = obj
If mnu.Text.IndexOf("Neu") > 0 Then
mnu.Enabled = True
Else
mnu.Enabled = False
End If
End If
Next
Else
For Each obj As Object In menu.Items
Dim objtype As System.Type = obj.GetType
If LCase(objtype.Name) = "toolstripmenuitem" Then
Dim mnu As ToolStripMenuItem = obj
mnu.Enabled = True
End If
Next
End If
sec.Set_Form_Security(Me)
End Function
''' <summary>
''' Handelt das Opending-Ereignis des Context-Menus
''' </summary>
''' <remarks>
''' <20>beri Disable_Enable_Menu werden die Menueintr<74>ge aktiviert bzw. deaktiviert
''' </remarks>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <seealso
Private Sub KontakteMenuStrip_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles AktivitaetMenuStrip.Opening
Me.Disable_Enable_Menu(sender, Me.C1Aktivitaeten)
If Me.C1Aktivitaeten.Columns("ereignisnr").Value < 1 Then Me.EreignisAnzeigenToolStripMenuItem.Enabled = False
End Sub
#End Region
''' <summary>
''' Ereignis zur Aktiv<69>t<EFBFBD>t anzeigen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub EreignisAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EreignisAnzeigenToolStripMenuItem.Click
Dim f As New frmVertragsereignis(Me.C1Aktivitaeten.Columns("Ereignisnr").Value, 0, True, False)
f.MdiParent = Me.MdiParent
f.Show()
End Sub
''' <summary>
''' Vertragselement zur Aktivit<69>t anzeigen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub VertragselementAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VertragselementAnzeigenToolStripMenuItem.Click
Dim f As New frmVertragselement(Me.C1Aktivitaeten.Columns("Vertragselementnr").Value, True, False)
f.MdiParent = Me.MdiParent
f.Show()
End Sub
''' <summary>
''' Fenster schliessen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub StatusToolStripComboBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusToolStripComboBox.Click
End Sub
Private Sub StatusSetzenToolStripMenuItem_DropDownItemClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles StatusSetzenToolStripMenuItem.DropDownItemClicked
Dim i As Integer = -1
Dim akt As Boolean = False
For Each dr As DataRow In Me.Statusdata.Rows
If dr.Item("Bezeichnung") = e.ClickedItem.Text Then
i = dr.Item("Aktivitaetstatusnr")
If dr.Item("Aktivitaet_Aktivieren") = True Then akt = True Else akt = False
End If
Next
Me.Aktivitaet.Status_Wechsel(Me.C1Aktivitaeten.Columns("Aktivitaetnr").Value, i, akt)
Me.Refresh_Uebersicht()
End Sub
Private Sub StatusSetzenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusSetzenToolStripMenuItem.Click
End Sub
Private Sub ErledigtToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ErledigtToolStripMenuItem.Click
End Sub
Private Sub PendentToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PendentToolStripMenuItem.Click
End Sub
Private Sub tsbtnprint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnprint.Click
Dim fontbold As New Font("Arial", 12, FontStyle.Bold)
Dim fontregular As New Font("Arial", 12, FontStyle.Regular)
With Me.C1Aktivitaeten.PrintInfo
.PageHeaderStyle.Font = fontbold
.PageSettings.Margins.Bottom = 20
.PageSettings.Margins.Top = 20
.PageSettings.Landscape = True
.PageFooter = "Seite \p von \P" & vbLf & "Druckdatum " & Now()
.PageHeader = "Aktivit<69>ten"
.ShowProgressForm = True
.UseGridColors = True
.RepeatColumnHeaders = True
.VarRowHeight = .RowHeightEnum.StretchToFit
.WrapText = C1.Win.C1TrueDBGrid.PrintInfo.WrapTextEnum.NoWrap
.PageBreak = .PageBreaksEnum.OnColumn
.FillAreaWidth = .FillEmptyEnum.None
.PrintPreview()
End With
End Sub
End Class