|
|
Imports System.Data
|
|
|
Imports System.Data.SqlClient
|
|
|
Imports System.Data.SqlTypes
|
|
|
Public Class FrmDokMail
|
|
|
|
|
|
Dim Tablename As String = ""
|
|
|
|
|
|
Private Sub FrmDokMail_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
|
|
Dim msg As MsgBoxResult
|
|
|
If Me.DataSet1.HasChanges Then
|
|
|
msg = Globals.MyMsg.Show_MessageYesNoCancel(2)
|
|
|
If msg = MsgBoxResult.No Then
|
|
|
e.Cancel = False
|
|
|
End If
|
|
|
If msg = MsgBoxResult.Yes Then
|
|
|
If Save_Data() Then e.Cancel = False Else e.Cancel = True
|
|
|
End If
|
|
|
If msg = MsgBoxResult.Cancel Then e.Cancel = True
|
|
|
End If
|
|
|
End Sub
|
|
|
|
|
|
Private Sub cldDomainBerechtigung_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
|
Me.Tablename = "DokEditMail"
|
|
|
Globals.MandantNr = 1
|
|
|
Dim dbconn As New EDOKA.DB_Connection()
|
|
|
Me.SqlConnection1.ConnectionString = Globals.sConnectionString
|
|
|
Me.SqlConnection1.Open()
|
|
|
|
|
|
Try
|
|
|
Me.SqlDataAdapter1.Fill(Me.DataSet1)
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
End Try
|
|
|
Me.DomainList.DataSource = Me.DataSet1
|
|
|
Me.DomainList.DataMember = Me.DataSet1.Tables(0).TableName
|
|
|
|
|
|
SpaltenTitel_Aktualisieren(Me.DataSet1)
|
|
|
|
|
|
DropDown_Bindung()
|
|
|
|
|
|
End Sub
|
|
|
Private Sub DropDown_Bindung()
|
|
|
conn.OpenConnection()
|
|
|
Dim t As New DataTable
|
|
|
t = Generic_Select(1)
|
|
|
|
|
|
Me.drpDokumenttyp.DataSource = t
|
|
|
Me.drpDokumenttyp.ListField = "Bezeichnung"
|
|
|
Me.drpDokumenttyp.DataField = "Dokumenttypnr"
|
|
|
Me.drpDokumenttyp.ValueTranslate = True
|
|
|
Me.DomainList.Columns("DokumenttypNr").DropDown = Me.drpDokumenttyp
|
|
|
|
|
|
Dim T2 As New DataTable
|
|
|
T2 = Generic_Select(2)
|
|
|
Me.DrpStatus.DataSource = T2
|
|
|
Me.DrpStatus.ListField = "Bezeichnung"
|
|
|
Me.DrpStatus.DataField = "Status_Bezeichnungnr"
|
|
|
Me.DrpStatus.ValueTranslate = True
|
|
|
Me.DomainList.Columns("Status").DropDown = Me.DrpStatus
|
|
|
conn.CloseConnection(True)
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
|
|
|
Select Case ToolBar1.Buttons.IndexOf(e.Button)
|
|
|
Case 0 'close button
|
|
|
Me.Close()
|
|
|
Case 1 'Speichern
|
|
|
Save_Data()
|
|
|
End Select
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
Private Function Save_Data() As Boolean
|
|
|
Save_Data = True
|
|
|
Try
|
|
|
SqlDataAdapter1.Update(Me.DataSet1)
|
|
|
Catch ex As Exception
|
|
|
MsgBox(Globals.MyMsg.Get_Meldungstext(902))
|
|
|
Save_Data = False
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Sub DomainList_AfterInsert(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DomainList.AfterInsert
|
|
|
Dim i As Integer
|
|
|
'Defaulwerte erstellt_am, mutiert_am, mutierer und aktiv setzen
|
|
|
Try
|
|
|
For i = 0 To DomainList.Columns.Count - 1
|
|
|
If Me.DomainList.Columns(i).DataField = "Aktiv" Then
|
|
|
Me.DomainList.Columns(i).Value = 1
|
|
|
End If
|
|
|
If Me.DomainList.Columns(i).DataField = "Erstellt_am" Then
|
|
|
Me.DomainList.Columns(i).Value = Now
|
|
|
End If
|
|
|
If Me.DomainList.Columns(i).DataField = "Mutiert_am" Then
|
|
|
Me.DomainList.Columns(i).Value = Now
|
|
|
End If
|
|
|
If Me.DomainList.Columns(i).DataField = "Mutierer" Then
|
|
|
Me.DomainList.Columns(i).Value = Globals.MitarbeiterNr
|
|
|
End If
|
|
|
If Me.DomainList.Columns(i).DataField = "korrigiert_am" Then
|
|
|
Me.DomainList.Columns(i).Value = DBNull.Value
|
|
|
End If
|
|
|
Next
|
|
|
Catch
|
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub domainlist_aftercellupdate(ByVal sender As System.Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles DomainList.AfterColUpdate
|
|
|
'Aktualisieren von Mutierer und Mutiert_am
|
|
|
Dim i As Integer
|
|
|
Try
|
|
|
For i = 0 To Me.DomainList.Columns.Count - 1
|
|
|
If Me.DomainList.Columns(i).DataField = "Mutiert_am" Then Me.DomainList.Columns(i).Value = Now
|
|
|
If Me.DomainList.Columns(i).DataField = "Mutierer" Then Me.DomainList.Columns(i).Value = Globals.MitarbeiterNr
|
|
|
If Me.DomainList.Columns(i).DataField = "korrigiert_am" Then Me.DomainList.Columns(i).Value = DBNull.Value
|
|
|
Next
|
|
|
|
|
|
'neuer DB-Key ausl<73>sen, sofern kein Key vorhanden ist
|
|
|
If Me.DomainList.Columns(0).Value Is DBNull.Value Then
|
|
|
Dim dbkey As New edokadb.clsMyKey_Tabelle()
|
|
|
Dim key As Long
|
|
|
dbkey.cpMainConnectionProvider = conn
|
|
|
key = dbkey.get_dbkey(Tablename)
|
|
|
Me.DomainList.Columns(0).Value = key
|
|
|
|
|
|
For i = 0 To Me.DomainList.Columns.Count - 1
|
|
|
If Me.DomainList.Columns(i).DataField = "mandantnr" Then
|
|
|
Me.DomainList.Columns(i).Value = Globals.MandantNr
|
|
|
End If
|
|
|
Next
|
|
|
dbkey.Dispose()
|
|
|
End If
|
|
|
Catch
|
|
|
End Try
|
|
|
End Sub
|
|
|
|
|
|
Private Sub DomainList_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles DomainList.RowColChange
|
|
|
Exit Sub
|
|
|
If Me.DomainList.Columns(1).Value Is DBNull.Value Then
|
|
|
Me.DomainList.Splits(0).DisplayColumns(1).Locked = False
|
|
|
Else
|
|
|
Me.DomainList.Splits(0).DisplayColumns(1).Locked = True
|
|
|
End If
|
|
|
If Me.DomainList.Columns(2).Value Is DBNull.Value Then
|
|
|
Me.DomainList.Splits(0).DisplayColumns(2).Locked = False
|
|
|
Else
|
|
|
Me.DomainList.Splits(0).DisplayColumns(2).Locked = True
|
|
|
End If
|
|
|
Try
|
|
|
|
|
|
Catch ex As Exception
|
|
|
If Me.DomainList.Columns(1).Value = "" Then
|
|
|
Me.DomainList.Splits(0).DisplayColumns(1).Locked = False
|
|
|
Else
|
|
|
Me.DomainList.Splits(0).DisplayColumns(1).Locked = True
|
|
|
End If
|
|
|
End Try
|
|
|
Try
|
|
|
If Me.DomainList.Columns(2).Value = "" Then
|
|
|
Me.DomainList.Splits(0).DisplayColumns(2).Locked = False
|
|
|
Else
|
|
|
Me.DomainList.Splits(0).DisplayColumns(2).Locked = True
|
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Public Sub SpaltenTitel_Aktualisieren(ByVal ds As DataSet)
|
|
|
|
|
|
'Spaltentitel setzen
|
|
|
Dim titel As New EDOKA.MySpaltenTitel()
|
|
|
Dim anzcols As Integer
|
|
|
Dim cols(Me.DomainList.Splits(0).DisplayColumns.Count) As C1.Win.C1TrueDBGrid.C1DisplayColumn
|
|
|
Dim ts As New EDOKA.Tabellenspalte()
|
|
|
Dim i As Integer
|
|
|
Dim t As New DataTable()
|
|
|
Dim dc As C1.Win.C1TrueDBGrid.C1DisplayColumn
|
|
|
Dim s As String
|
|
|
anzcols = Me.DomainList.Splits(0).DisplayColumns.Count
|
|
|
t = ds.Tables(0)
|
|
|
ts.Tabelle = Me.Tablename
|
|
|
For i = 0 To Me.DomainList.Columns.Count - 1
|
|
|
s = Me.DomainList.Columns(i).DataField
|
|
|
ts.Feld = s
|
|
|
ts.getspalte()
|
|
|
Me.DomainList.Columns(i).Caption = ts.spaltenname
|
|
|
|
|
|
If ts.ColWith = 0 Then
|
|
|
Me.DomainList.Splits(0).DisplayColumns(i).Width = 0
|
|
|
Me.DomainList.Splits(0).DisplayColumns(i).Visible = False
|
|
|
Else
|
|
|
Me.DomainList.Splits(0).DisplayColumns(i).Width = ts.ColWith
|
|
|
End If
|
|
|
|
|
|
If ts.locked Then
|
|
|
Me.DomainList.Splits(0).DisplayColumns(i).Locked = True
|
|
|
End If
|
|
|
|
|
|
If ts.AlsHacken Then
|
|
|
Me.DomainList.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox
|
|
|
End If
|
|
|
|
|
|
'Pr<50>sentation von aktiv
|
|
|
If Me.DomainList.Columns(i).DataField = "aktiv" Then
|
|
|
Me.DomainList.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox
|
|
|
Me.DomainList.Columns(i).ValueItems.DefaultItem = True
|
|
|
Me.DomainList.Columns(i).DefaultValue = True
|
|
|
Me.DomainList.Columns(i).FilterText = True
|
|
|
End If
|
|
|
If Me.DomainList.Columns(i).DataField = "erstellt_am" Then
|
|
|
Me.DomainList.Columns(i).DefaultValue = Now
|
|
|
End If
|
|
|
Next
|
|
|
End Sub
|
|
|
|
|
|
Private Sub DatenSichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DatenSichernToolStripMenuItem.Click
|
|
|
Save_Data()
|
|
|
End Sub
|
|
|
|
|
|
Private Function Generic_Select(ByVal typ As Integer) As DataTable
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
Select Case typ
|
|
|
Case 1 'ben<65>tigt
|
|
|
scmCmdToExecute.CommandText = "SP_Get_Stammdaten"
|
|
|
Case 2 'Ben<65>tigt
|
|
|
scmCmdToExecute.CommandText = "SP_Get_Stammdaten"
|
|
|
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("@Typ", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
Case 2
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@Typ", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
Case Else
|
|
|
End Select
|
|
|
If typ = 1 Then
|
|
|
End If
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
' // some error occured. Bubble it to caller and encapsulate Exception object
|
|
|
Throw New Exception("DokEditMail::Generic_Select::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
|
|
|
End Class |