Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports System.ComponentModel Imports UtilityLibrary.Win32 Public Class frmDokumentberechtigung Inherits System.Windows.Forms.Form #Region " Vom Windows Form Designer generierter Code " Public Sub New() MyBase.New() ' Dieser Aufruf ist für den Windows Form-Designer erforderlich. InitializeComponent() ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen End Sub ' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen. 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 ' Für Windows Form-Designer erforderlich Private components As System.ComponentModel.IContainer 'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich 'Sie kann mit dem Windows Form-Designer modifiziert werden. 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox Friend WithEvents berechtigunglist As C1.Win.C1TrueDBGrid.C1TrueDBGrid Friend WithEvents btnSave As System.Windows.Forms.Button Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox Friend WithEvents CheckedListBox1 As System.Windows.Forms.CheckedListBox Friend WithEvents btnCancel As System.Windows.Forms.Button Private Sub InitializeComponent() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDokumentberechtigung)) Me.btnSave = New System.Windows.Forms.Button Me.GroupBox1 = New System.Windows.Forms.GroupBox Me.berechtigunglist = New C1.Win.C1TrueDBGrid.C1TrueDBGrid Me.GroupBox2 = New System.Windows.Forms.GroupBox Me.CheckedListBox1 = New System.Windows.Forms.CheckedListBox Me.btnCancel = New System.Windows.Forms.Button Me.GroupBox1.SuspendLayout() CType(Me.berechtigunglist, System.ComponentModel.ISupportInitialize).BeginInit() Me.GroupBox2.SuspendLayout() Me.SuspendLayout() ' 'btnSave ' Me.btnSave.DialogResult = System.Windows.Forms.DialogResult.OK Me.btnSave.Location = New System.Drawing.Point(592, 344) Me.btnSave.Name = "btnSave" Me.btnSave.Size = New System.Drawing.Size(75, 23) Me.btnSave.TabIndex = 0 Me.btnSave.Text = "&Speichern" ' 'GroupBox1 ' Me.GroupBox1.Controls.Add(Me.berechtigunglist) Me.GroupBox1.Location = New System.Drawing.Point(8, 8) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Size = New System.Drawing.Size(432, 360) Me.GroupBox1.TabIndex = 4 Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "Mögliche Funktionen" ' 'berechtigunglist ' Me.berechtigunglist.AllowSort = False Me.berechtigunglist.AlternatingRows = True Me.berechtigunglist.Dock = System.Windows.Forms.DockStyle.Fill Me.berechtigunglist.FilterBar = True Me.berechtigunglist.GroupByCaption = "Drag a column header here to group by that column" Me.berechtigunglist.Images.Add(CType(resources.GetObject("berechtigunglist.Images"), System.Drawing.Image)) Me.berechtigunglist.Location = New System.Drawing.Point(3, 16) Me.berechtigunglist.Name = "berechtigunglist" Me.berechtigunglist.PreviewInfo.Location = New System.Drawing.Point(0, 0) Me.berechtigunglist.PreviewInfo.Size = New System.Drawing.Size(0, 0) Me.berechtigunglist.PreviewInfo.ZoomFactor = 75 Me.berechtigunglist.PrintInfo.PageSettings = CType(resources.GetObject("berechtigunglist.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) Me.berechtigunglist.ScrollTips = True Me.berechtigunglist.Size = New System.Drawing.Size(426, 341) Me.berechtigunglist.TabIndex = 16 Me.berechtigunglist.Text = "berechtigunglist" Me.berechtigunglist.PropBag = resources.GetString("berechtigunglist.PropBag") ' 'GroupBox2 ' Me.GroupBox2.Controls.Add(Me.CheckedListBox1) Me.GroupBox2.Location = New System.Drawing.Point(440, 8) Me.GroupBox2.Name = "GroupBox2" Me.GroupBox2.Size = New System.Drawing.Size(232, 184) Me.GroupBox2.TabIndex = 5 Me.GroupBox2.TabStop = False Me.GroupBox2.Text = "Berechtigungen für die gewählte Funktion" ' 'CheckedListBox1 ' Me.CheckedListBox1.Location = New System.Drawing.Point(8, 16) Me.CheckedListBox1.Name = "CheckedListBox1" Me.CheckedListBox1.Size = New System.Drawing.Size(216, 154) Me.CheckedListBox1.TabIndex = 4 ' 'btnCancel ' Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.btnCancel.Location = New System.Drawing.Point(512, 344) Me.btnCancel.Name = "btnCancel" Me.btnCancel.Size = New System.Drawing.Size(75, 23) Me.btnCancel.TabIndex = 6 Me.btnCancel.Text = "&Abbruch" ' 'frmDokumentberechtigung ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(674, 375) Me.Controls.Add(Me.btnCancel) Me.Controls.Add(Me.GroupBox2) Me.Controls.Add(Me.GroupBox1) Me.Controls.Add(Me.btnSave) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.Name = "frmDokumentberechtigung" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Berechtigungseinschränkung für Dokumente" Me.GroupBox1.ResumeLayout(False) CType(Me.berechtigunglist, System.ComponentModel.ISupportInitialize).EndInit() Me.GroupBox2.ResumeLayout(False) Me.ResumeLayout(False) End Sub #End Region #Region "Deklarationen" Dim m_vertraulich As Boolean Property Vertraulich() As Boolean Get Return m_vertraulich End Get Set(ByVal Value As Boolean) m_vertraulich = Value End Set End Property Dim m_dokumenttyp As Integer Property Dokumenttyp() As Integer Get Return m_dokumenttyp End Get Set(ByVal Value As Integer) m_dokumenttyp = Value End Set End Property Dim m_partnernr As Integer Property Partnernr() As Integer Get Return m_partnernr End Get Set(ByVal Value As Integer) m_partnernr = Value End Set End Property Dim m_anzeigen As Boolean Dim m_erstellen As Boolean Dim m_bearbeiten As Boolean Dim m_loeschen As Boolean Dim m_abschliessen As Boolean Dim m_funktionsgruppenr As Integer Property Anzeigen() As Boolean Get Return m_anzeigen End Get Set(ByVal Value As Boolean) m_anzeigen = Value End Set End Property Property Bearbeiten() As Boolean Get Return m_bearbeiten End Get Set(ByVal Value As Boolean) m_bearbeiten = Value End Set End Property Property Loeschen() As Boolean Get Return m_loeschen End Get Set(ByVal Value As Boolean) m_loeschen = Value End Set End Property Property Abschliessen() As Boolean Get Return m_abschliessen End Get Set(ByVal Value As Boolean) m_abschliessen = Value End Set End Property Property Funktionsgruppenr() As Integer Get Return m_funktionsgruppenr End Get Set(ByVal Value As Integer) m_funktionsgruppenr = Value End Set End Property Dim m_funktionsgruppebezeichnung As String Property Funktionsgruppebezeichnung() As String Get Return m_funktionsgruppebezeichnung End Get Set(ByVal Value As String) m_funktionsgruppebezeichnung = Value End Set End Property #End Region Private Sub frmDokumentberechtigung_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.CheckedListBox1.DataSource = Generic_Select(1) Me.CheckedListBox1.ValueMember = "berechtigungnr" Me.CheckedListBox1.DisplayMember = "bezeichnung" Dim d As New DataTable() If Me.Vertraulich Then d = DivFnkt.Berechtigte_Funktionen(Dokumenttyp, 0, 0, 0, 0, 0, 0, 1) Else d = DivFnkt.Berechtigte_Funktionen(Dokumenttyp, 0, 0, 0, 0, 0, 0, 0) End If Me.berechtigunglist.DataSource = d Me.berechtigunglist.DataMember = d.TableName DivFnkt.SpaltenTitel_Aktualisieren(Me.berechtigunglist, d, "berechtigungsliste") Me.berechtigunglist.Splits(0).DisplayColumns(1).Visible = False Set_Berechtigungen() Me.berechtigunglist.ScrollTips = True End Sub Private Sub Berechtigunglist_FetchScrollTips(ByVal sender As System.Object, ByVal e As C1.Win.C1TrueDBGrid.FetchScrollTipsEventArgs) Handles berechtigunglist.FetchScrollTips Select Case e.ScrollBar Case C1.Win.C1TrueDBGrid.ScrollBarEnum.Vertical e.ScrollTip = CStr(e.Row + 1) & " / " & CStr(Me.berechtigunglist.Splits(0).Rows.Count) End Select e.TipStyle.ForeColor = Color.Blue End Sub Private Function Generic_Select(ByVal typ As Integer) As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() Select Case typ Case 1 scmCmdToExecute.CommandText = "dbo.pv_berechtigung_aktiv_select" Case Else End Select scmCmdToExecute.CommandType = CommandType.StoredProcedure Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.Connection = conn.scoDBConnection Try Select Case typ Case 1 scmCmdToExecute.Parameters.Add(New SqlParameter("@mandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MandantNr)) Case Else End Select If typ = 1 Then End If sdaAdapter.Fill(dtToReturn) Select Case typ Case 1 Dim i As Integer For i = 0 To dtToReturn.Rows.Count - 1 If dtToReturn.Rows(i).Item("berechtigungnr") = 2 Then dtToReturn.Rows(i).Delete() End If Next Case Else End Select Return dtToReturn Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("Dokumenterstellung::Generic_Select::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Try Dim i As Integer Me.Funktionsgruppenr = Me.berechtigunglist.Columns(1).Value Me.Funktionsgruppebezeichnung = Me.berechtigunglist.Columns(0).Value Me.Close() Catch End Try End Sub Private Sub CheckedListBox1_ItemCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck Dim i As Integer Dim bm As Long Select Case Me.CheckedListBox1.SelectedValue Case 1 If e.NewValue = CheckState.Checked And Me.berechtigunglist.Columns(2).Value <> 1 Then MyMsg.show_standardmessage(32, MsgBoxStyle.Critical) e.NewValue = CheckState.Unchecked Exit Sub End If Me.Anzeigen = e.NewValue Case 3 If e.NewValue = CheckState.Checked And Me.berechtigunglist.Columns(4).Value <> 1 Then MyMsg.show_standardmessage(32, MsgBoxStyle.Critical) e.NewValue = CheckState.Unchecked Exit Sub End If Me.Bearbeiten = e.NewValue Case 4 If e.NewValue = CheckState.Checked And Me.berechtigunglist.Columns(5).Value <> 1 Then MyMsg.show_standardmessage(32, MsgBoxStyle.Critical) e.NewValue = CheckState.Unchecked Exit Sub End If Me.Loeschen = e.NewValue Case 5 If e.NewValue = CheckState.Checked And Me.berechtigunglist.Columns(6).Value <> 1 Then MyMsg.show_standardmessage(32, MsgBoxStyle.Critical) e.NewValue = CheckState.Unchecked Exit Sub End If Me.Abschliessen = e.NewValue End Select End Sub Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click Me.Close() End Sub Private Sub berechtigunglist_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles berechtigunglist.MouseUp Set_Berechtigungen() End Sub Private Sub Set_Berechtigungen() Me.CheckedListBox1.SetItemChecked(0, False) Me.CheckedListBox1.SetItemChecked(1, False) Me.CheckedListBox1.SetItemChecked(2, False) Me.CheckedListBox1.SetItemChecked(3, False) If Me.berechtigunglist.Columns(2).Value = 1 Then Me.CheckedListBox1.SetItemChecked(0, True) If Me.berechtigunglist.Columns(4).Value = 1 Then Me.CheckedListBox1.SetItemChecked(1, True) If Me.berechtigunglist.Columns(5).Value = 1 Then Me.CheckedListBox1.SetItemChecked(2, True) If Me.berechtigunglist.Columns(6).Value = 1 Then Me.CheckedListBox1.SetItemChecked(3, True) Me.Anzeigen = Me.berechtigunglist.Columns(2).Value = 1 Me.Bearbeiten = Me.berechtigunglist.Columns(4).Value = 1 Me.Loeschen = Me.berechtigunglist.Columns(5).Value = 1 Me.Abschliessen = Me.berechtigunglist.Columns(6).Value = 1 End Sub Private Sub berechtigunglist_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles berechtigunglist.DoubleClick Try Dim i As Integer Me.Funktionsgruppenr = Me.berechtigunglist.Columns(1).Value Me.Funktionsgruppebezeichnung = Me.berechtigunglist.Columns(0).Value Me.DialogResult = DialogResult.OK Me.Close() Catch End Try End Sub End Class